日期和时间函数
用于提取日期和时间组成部分,以及执行日期运算的函数。
处理时间戳
在ProcessMind中,时间戳以数字形式存储,表示自1970年1月1日(Unix纪元)以来的毫秒数。日期函数使用这些时间戳值。
常见模式
-
提取日期组成部分:
year(StartTime) // 2024 month(StartTime) // 3 (March) day(StartTime) // 15 -
计算时长:
dateDiff(StartTime, EndTime, "minute") dateDiff(StartTime, EndTime, "hour") dateDiff(StartTime, EndTime, "day") -
创建时间分桶:
bucket(hour(StartTime), 6, "Night", 12, "Morning", 18, "Afternoon", "Evening") -
向日期添加时间:
dateAdd(StartTime, 7, "day") // Add 7 days dateAdd(StartTime, -1, "month") // Subtract 1 month
now
()返回当前UTC时间戳,即自Unix纪元以来的毫秒数。
| 返回值 | 数字 |
| 示例 | now() → 1708963200000 当前时间戳 |
year
(timestamp)从时间戳中提取年份。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | year(StartTime) → 2024 | |||
| 另请参阅 |
month
(timestamp)从时间戳中提取月份,范围为1到12。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | month(StartTime) → 3 3月 | |||
| 另请参阅 |
day
(timestamp)从时间戳中提取日期,范围为1到31。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | day(StartTime) → 18 | |||
| 另请参阅 |
hour
(timestamp)从时间戳中提取小时,范围为0到23。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | hour(StartTime) → 14 下午2点 | |||
| 另请参阅 |
minute
(timestamp)从时间戳中提取分钟,范围为0到59。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | minute(StartTime) → 30 | |||
| 另请参阅 |
second
(timestamp)从时间戳中提取秒,范围为0到59。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | second(StartTime) → 45 | |||
| 另请参阅 |
dayOfWeek
(timestamp)从时间戳中返回星期几,其中1表示星期一,7表示星期日。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | dayOfWeek(StartTime) → 1 星期一 | |||
| 另请参阅 |
dayName
(timestamp)从时间戳中按名称返回星期几。
| 参数 |
| |||
| 返回值 | 字符串 | |||
| 示例 | dayName(StartTime) → 星期一 | |||
| 另请参阅 |
monthName
(timestamp)从时间戳中返回月份名称。
| 参数 |
| |||
| 返回值 | 字符串 | |||
| 示例 | monthName(StartTime) → 3月 | |||
| 另请参阅 |
quarter
(timestamp)从时间戳中返回季度,范围为1到4。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | quarter(StartTime) → 1 第1季度(1月至3月) | |||
| 另请参阅 |
weekOfYear
(timestamp)从时间戳中返回ISO周数,范围为1到53。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | weekOfYear(StartTime) → 12 2024年第12周 | |||
| 另请参阅 |
dayOfYear
(timestamp)从时间戳中返回一年中的第几天,范围为1到366。
| 参数 |
| |||
| 返回值 | 数字 | |||
| 示例 | dayOfYear(StartTime) → 78 一年中的第78天(2024年3月18日) | |||
| 另请参阅 |
dateAdd
(timestamp, amount, unit)向时间戳增加指定的时间量。
| 参数 |
| |||||||||
| 返回值 | 数字 | |||||||||
| 示例 | dateAdd(StartTime, 7, "day") → 时间戳+7天 dateAdd(StartTime, -1, "month") → 时间戳-1个月 dateAdd(1710766245000, 1, "day") → 1710852645000 在2024年3月18日增加1天 | |||||||||
| 另请参阅 |
dateDiff
(startTimestamp, endTimestamp, unit)按指定单位计算两个时间戳之间的差值。
| 参数 |
| |||||||||
| 返回值 | 数字 | |||||||||
| 示例 | dateDiff(StartTime, EndTime, "minute") → 150 分钟数 dateDiff(StartTime, EndTime, "hour") → 2.5 | |||||||||
| 备注 | 返回表示精确差值的十进制数。 | |||||||||
| 另请参阅 |
isBusinessDay
(timestamp)检查时间戳是否落在工作日,即星期一至星期五。
| 参数 |
| |||
| 返回值 | boolean | |||
| 示例 | isBusinessDay(StartTime) → true 如果StartTime是工作日 | |||
| 另请参阅 |
workingDaysBetween
(startTimestamp, endTimestamp)计算两个时间戳之间的工作日数,即星期一至星期五。
| 参数 |
| ||||||
| 返回值 | 数字 | ||||||
| 示例 | workingDaysBetween(StartTime, EndTime) → 两个日期之间的工作日数 workingDaysBetween(1710766245000, 1711371045000) → 5 2024年3月18日星期一至3月25日星期一之间有5个工作日 | ||||||
| 备注 | 近似的后端工作日历辅助函数。不考虑节假日,仅排除周末。 | ||||||
| 另请参阅 |
toUtc
(timestamp, offsetHours)通过减去时区偏移量,将本地时间戳转换为UTC。
| 参数 |
| ||||||
| 返回值 | 数字 | ||||||
| 示例 | toUtc(StartTime, 2) → StartTime-2小时 从UTC+2转换 toUtc(1710766245000, 2) → 1710759045000 将时间戳从UTC+2转换为UTC | ||||||
| 备注 | 时区转换目前支持以小时表示的数字UTC偏移量,不支持IANA时区名称。 | ||||||
| 另请参阅 |
toLocal
(timestamp, offsetHours)通过增加偏移量,将UTC时间戳转换为本地时间。
| 参数 |
| ||||||
| 返回值 | 数字 | ||||||
| 示例 | toLocal(StartTime, -5) → StartTime减5小时 转换为EST toLocal(1710766245000, -5) → 1710748245000 将UTC时间戳转换为EST(UTC-5) | ||||||
| 备注 | 时区转换目前支持以小时表示的数字UTC偏移量,不支持IANA时区名称。 | ||||||
| 另请参阅 |
convertTimezone
(timestamp, fromOffset, toOffset)将时间戳从一个时区转换到另一个时区。
| 参数 |
| |||||||||
| 返回值 | 数字 | |||||||||
| 示例 | convertTimezone(StartTime, 1, -5) → 时间戳调整了6小时 CET转换为EST convertTimezone(1710766245000, 1, -5) → 1710744645000 将UTC+1转换为UTC-5 | |||||||||
| 备注 | 时区转换目前支持以小时表示的数字UTC偏移量,不支持IANA时区名称。 | |||||||||
| 另请参阅 |
相关主题
- 表达式概览:所有表达式函数。