模板列代码分享【新】

本贴最后更新于 361 天前,其中的信息可能已经时异事殊

前几天分享了模板列代码,一是有网友 @83453 提了新的需求,二是上次的代码本身有点小 bug(比如天数少 1 那个),所以重新发一下。
如果遇到 bug 随时和我说,我再改进。
另外有其他需求的话也可以和我说~

总体效果如下:

image.png

  1. 建立 1 个“日期”类型的列,命名为“截止日期”。1 个“勾选框”类型的列,命名为“状态”。4 个“模板”类型的列,分别命名为“分组”,“周”,“距今”和“图标”。

  2. “分组”列代码

    .action{$deadline:= index . "截止日期" }
    .action{$state := index . "状态"}
    .action{$today:= (now | date "2006-01-02")}
    .action{$nowdate:=(toDate "2006-01-02" $today)}
    .action{$delta :=(div ($deadline.Sub $nowdate).Hours 24)}
    .action{$thisweek := (sub 7 (mod (div ($nowdate.Sub (toDate "2006-01-02" "2021-06-28")).Hours 24) 7) )}
    .action{$nextweek := (sub 14 (mod (div ($nowdate.Sub (toDate "2006-01-02" "2021-06-28")).Hours 24) 7) )}
    .action{$deltayear:=(sub ($deadline | date "2006") (now | date "2006"))}
    .action{$deltamonth:= (sub ($deadline | date "01") (now | date "01"))}
    .action{if eq $state "√"}
    🥳完成
    .action{else}
    .action{if empty $deadline}
    O 待定
    .action{else if lt $delta 0}
    ❗过期
    .action{else if eq $delta 0}
    ❤今天
    .action{else if eq $delta 1}
    🔴明天
    .action{else if lt $delta $thisweek}
    🟠本周
    .action{else if lt $delta $nextweek}
    🟡下周
    .action{else if and (eq $deltayear 0) (eq $deltamonth 0)}
    🟣本月
    .action{else if and (eq $deltayear 0) (eq $deltamonth 1)}
    🟢下月
    .action{else}
    ⚪以后
    .action{end}
    .action{end}
    
  3. “周”列代码

    .action{$deadline:= index . "截止日期" }
    .action{$ng_week := (mod (div ($deadline.Sub (toDate "2006-01-02" "2021-06-28")).Hours 24) 7) }
    .action{if empty $deadline}
    
    .action{else if eq $ng_week 0}
    周一
    .action{else if eq $ng_week 1}
    周二
    .action{else if eq $ng_week 2}
    周三
    .action{else if eq $ng_week 3}
    周四
    .action{else if eq $ng_week 4}
    周五
    .action{else if eq $ng_week 5}
    周六
    .action{else if eq $ng_week 6}
    周日
    .action{end}  
    
  4. “距今”列代码

    .action{$state := index . "状态"}
    .action{$deadline:= index . "截止日期" }
    .action{$today:= (now | date "2006-01-02")}
    .action{$nowdate:=(toDate "2006-01-02" $today)}
    .action{$delta :=(div ($deadline.Sub $nowdate).Hours 24)}
    .action{if eq $state "√"}
    完成
    .action{else}
    .action{if empty $deadline}
    
    .action{else if lt $delta 8}
    .action{$delta} 天
    .action{else if lt $delta 32}
    .action{$delta_week :=(div ($deadline.Sub $nowdate).Hours 168)} 
    .action{$delta_day :=div (sub ($deadline.Sub $nowdate).Hours (mul $delta_week 168) ) 24} 
    .action{$delta_week} 周
    .action{$delta_day} 天
    .action{else if lt $delta 365}
    .action{$delta_month :=(div ($deadline.Sub $nowdate).Hours 720)} 
    .action{$delta_day :=div (sub ($deadline.Sub $nowdate).Hours (mul $delta_month 720) ) 24} 
    .action{$delta_month} 月
    .action{$delta_day} 天
    .action{else}
    .action{$delta_year :=(div ($deadline.Sub $nowdate).Hours 8760)} 
    .action{$delta_month :=div (sub ($deadline.Sub $nowdate).Hours (mul $delta_year 8760) ) 720} 
    .action{$delta_year} 年
    .action{$delta_month} 月
    .action{end}
    .action{end}
    
  5. “图标”列代码

    .action{$deadline:= index . "截止日期" }
    .action{$now_date := now}
    .action{$delta :=(div ($deadline.Sub $now_date).Hours 24)}
    .action{$state := index . "状态"}
    .action{if eq $state "√"}
    🥳
    .action{else}
    .action{if empty $deadline}
    
    .action{else if lt $delta 0}
    🤡
    .action{else if lt $delta 7}
    ❤
    .action{else if lt $delta 28}
    🔔
    .action{else}
    🟢
    .action{end}
    .action{end}
    
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23318 引用 • 94208 回帖
3 操作
Liuzn 在 2024-01-10 20:16:40 更新了该帖
Liuzn 在 2024-01-10 18:56:47 更新了该帖
Liuzn 在 2024-01-10 18:54:59 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    181 引用 • 400 回帖 • 1 关注
  • InfluxDB

    InfluxDB 是一个开源的没有外部依赖的时间序列数据库。适用于记录度量,事件及实时分析。

    2 引用 • 81 关注
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 639 关注
  • 笔记

    好记性不如烂笔头。

    308 引用 • 794 回帖
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 2 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    178 引用 • 816 回帖 • 2 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 36 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 778 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖 • 2 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 624 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 98 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    7 引用 • 40 回帖
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    728 引用 • 1275 回帖
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    197 引用 • 540 回帖 • 1 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 355 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    117 引用 • 99 回帖 • 212 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23317 引用 • 94208 回帖
  • OnlyOffice
    4 引用 • 8 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 31 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    408 引用 • 3575 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖 • 2 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1436 引用 • 10058 回帖 • 492 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖 • 1 关注