| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 |
- #nop vim: set filetype=tt:;
- /*
- 本文件属于 PaoTin++ 的一部分。
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- */
- #nop 本文件是 xtintin 的一部分,实现了一些时间处理函数;
- ///=== {
- ///// 时间处理函数:
- //
- // #@ time.Now
- // 返回当前系统时间戳。
- // };
- #func {time.Now} {#format result {%T}};
- ///=== {
- // #@ time.ParseDoC <时间长度文本>
- // 将中文书写的时间长度(Duration of Chinese)文本转换成以秒为单位的整数值。
- // };
- #func {time.ParseDoC} {
- #local {timeStr} {%0};
- #nop 兼容不同的写法;
- #replace {timeStr} {个} {};
- #replace {timeStr} {星期} {周};
- #replace {timeStr} {小时} {时};
- #replace {timeStr} {分钟} {分};
- #nop 注意这里用了个小技巧,末尾的空格不要去掉;
- #replace timeStr {%S年} {@math.ParseCN{&1}*31104000+ };
- #replace timeStr {%S月} {@math.ParseCN{&1}*2592000+ };
- #replace timeStr {%S周} {@math.ParseCN{&1}*604800+ };
- #replace timeStr {%S天} {@math.ParseCN{&1}*86400+ };
- #replace timeStr {%S时} {@math.ParseCN{&1}*3600+ };
- #replace timeStr {%S分} {@math.ParseCN{&1}*60+ };
- #replace timeStr {%S秒} {@math.ParseCN{&1}};
- #local time {};
- #math time {$timeStr + 0};
- #return {$time};
- };
- ///=== {
- // #@ time.Format [<时间戳> [<格式字符串>]]
- // 将指定时间戳按照格式字符串要求,转换成字符串。
- // 格式字符串参见 #help time,如果省略则为 %Y-%m-%d %H:%M:%S。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Format} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%Y-%m-%d %H:%M:%S}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.FormatNow [<格式字符串>]]
- // 将指定时间戳按照格式字符串要求,转换成字符串。
- // 格式字符串参见 #help time,如果省略则为 %Y-%m-%d %H:%M:%S。
- // };
- #func {time.FormatNow} {
- #local time {@time.Now{}};
- #local format {@default{%1;{%Y-%m-%d %H:%M:%S}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Date [<时间戳>]
- // 将指定时间戳转换成 YYYY-mm-dd 格式的日期字符串。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Date} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%Y-%m-%d}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Year [<时间戳>]
- // 将指定时间戳所在的年份,四位数字。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Year} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%Y}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Month [<时间戳>]
- // 将指定时间戳所在的月份,两位数字。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Month} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%m}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Day [<时间戳>]
- // 将指定时间戳所在的日期,两位数字。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Day} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%d}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Time [<时间戳>]
- // 将指定时间戳转换成 HH:MM:SS 格式的时间字符串。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Time} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%H:%M:%S}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Hour [<时间戳>]
- // 将指定时间戳所在时刻的小时值,24 小时制,两位数字。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Hour} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%H}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Minute [<时间戳>]
- // 将指定时间戳所在时刻的分钟值,两位数字。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Minute} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%M}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
- ///=== {
- // #@ time.Second [<时间戳>]
- // 将指定时间戳所在时刻的秒值,两位数字。
- // 时间戳如果省略则为当前系统时间。
- // };
- #func {time.Second} {
- #local time {@defaultNum{%1;@time.Now{}}};
- #local format {@default{%2;{%S}}};
- #format result {%t} {{$format}{$time}};
- #return {$result};
- };
|