package
0.0.0-20240113165526-3f911461f066
Repository: https://github.com/xtulnx/jkit-go.git
Documentation: pkg.go.dev
# README
时间日期操作
- 字符串解析:多种格式尝试
- 时间对齐:按天、按小时、按分钟
# Functions
Age 简单计算年龄(只看年份).
Age0 简单计算年龄(只看年份)
tBirth: 出生日期 tNow: 当前日期.
DateFillAB 补全两个日期。主要是用于 SQL 查询时,如果日期边界不完整,可以自动补全默认范围。
a,b 起始日期、结束日期 daySize 如果 a、b 一个有效一个为空日期,则以 daySize 计算另外一个日期, day0 如果 a、b 都是空日期,则以「今天-day0」作为开始日期
例如,
如果扩展到本周,可以是 DateFillAB(a,b,7,int(time.Now().Weekday())-1) // 周一到周天 如果扩展到本月,可以是 DateFillAB(a,b,31,int(time.Now().Day())-1) // 周一到周天.
DateFillMonth 扩展到月内时间。主要是用于 SQL 查询时,如果日期边界不完整,可以自动补全默认范围。
a,b 起始日期、结束日期 minDay 最小天数,如果需要补全时,最少补全的天数
1.
MonthAdd 月份加减,如果是无效时间则跳过.
NextDayStart 下一天的开始.
NextMonthStart 下个月的开始.
ParseDateWith 尝试解析字符串为日期时间,如果无法解析,则返回错误.
Str2Date 字符串转成日期(时、分、秒为0),如果无效,则返回 0时间 d.IsZero().
Str2Time 字符串转成时间(或日期),如果 无效,则返回 0时间 d.IsZero().
Str2TimeExpand 扩展包含当前的时段;如参数是按天,则扩展到明天;如果参数精确到小时,则扩展到下一小时.
StringToDate 尝试解析字符串为日期时间,如果无法解析,则返回错误.
Truncate 截断对齐;不支持按月、按年
如果是按其他维度,比如 一天内小时、小时内分钟 等,则要先对齐到目标点,再使用差值计算。
用法:
t1 => 2021-06-17 18:32:11 +0800 CST 按天: TimeTruncate(t1, time.Hour*24) => 2021-06-17 00:00:00 +0800 CST 按7小时: TimeTruncate(t1, time.Hour*7) => 2021-06-17 12:00:00 +0800 CST 按7小时(当天): TimeTruncate2(t1, time.Hour*24, time.Hour*7) => 2021-06-17 14:00:00 +0800 CST 按小时: TimeTruncate(t1, time.Hour) => 2021-06-17 18:00:00 +0800 CST 按分钟: TimeTruncate(t1, time.Minute) => 2021-06-17 18:32:00 +0800 CST.
Truncate2 依次对齐.
TruncDay 按天截断.
TruncMonth 取月初日期.
TruncQuarter 按季度对齐.
TruncWeek 按周对齐.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author