本页内容

日期和时间函数

用于提取日期和时间组成部分,以及执行日期运算的函数。

处理时间戳

在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)

从时间戳中提取年份。

参数
timestamp number 时间戳值
返回值 数字
示例
year(StartTime) 2024
另请参阅

month

(timestamp)

从时间戳中提取月份,范围为1到12。

参数
timestamp number 时间戳值
返回值 数字
示例
month(StartTime) 3

3月

另请参阅

day

(timestamp)

从时间戳中提取日期,范围为1到31。

参数
timestamp number 时间戳值
返回值 数字
示例
day(StartTime) 18
另请参阅

hour

(timestamp)

从时间戳中提取小时,范围为0到23。

参数
timestamp number 时间戳值
返回值 数字
示例
hour(StartTime) 14

下午2点

另请参阅

minute

(timestamp)

从时间戳中提取分钟,范围为0到59。

参数
timestamp number 时间戳值
返回值 数字
示例
minute(StartTime) 30
另请参阅

second

(timestamp)

从时间戳中提取秒,范围为0到59。

参数
timestamp number 时间戳值
返回值 数字
示例
second(StartTime) 45
另请参阅

dayOfWeek

(timestamp)

从时间戳中返回星期几,其中1表示星期一,7表示星期日。

参数
timestamp number 时间戳值
返回值 数字
示例
dayOfWeek(StartTime) 1

星期一

另请参阅

dayName

(timestamp)

从时间戳中按名称返回星期几。

参数
timestamp number 时间戳值
返回值 字符串
示例
dayName(StartTime) 星期一
另请参阅

monthName

(timestamp)

从时间戳中返回月份名称。

参数
timestamp number 时间戳值
返回值 字符串
示例
monthName(StartTime) 3月
另请参阅

quarter

(timestamp)

从时间戳中返回季度,范围为1到4。

参数
timestamp number 时间戳值
返回值 数字
示例
quarter(StartTime) 1

第1季度(1月至3月)

另请参阅

weekOfYear

(timestamp)

从时间戳中返回ISO周数,范围为1到53。

参数
timestamp number 时间戳值
返回值 数字
示例
weekOfYear(StartTime) 12

2024年第12周

另请参阅

dayOfYear

(timestamp)

从时间戳中返回一年中的第几天,范围为1到366。

参数
timestamp number 时间戳值
返回值 数字
示例
dayOfYear(StartTime) 78

一年中的第78天(2024年3月18日)

另请参阅

dateAdd

(timestamp, amount, unit)

向时间戳增加指定的时间量。

参数
timestamp number 起始时间戳
amount number 要增加的数量,可以为负数
unit string 单位:'year'、'month'、'day'、'hour'、'minute'、'second'
返回值 数字
示例
dateAdd(StartTime, 7, "day") 时间戳+7天
dateAdd(StartTime, -1, "month") 时间戳-1个月
dateAdd(1710766245000, 1, "day") 1710852645000

在2024年3月18日增加1天

另请参阅

dateDiff

(startTimestamp, endTimestamp, unit)

按指定单位计算两个时间戳之间的差值。

参数
startTimestamp number 起始时间戳
endTimestamp number 结束时间戳
unit string 单位:'day'、'hour'、'minute'、'second'
返回值 数字
示例
dateDiff(StartTime, EndTime, "minute") 150

分钟数

dateDiff(StartTime, EndTime, "hour") 2.5
备注

返回表示精确差值的十进制数。

另请参阅

isBusinessDay

(timestamp)

检查时间戳是否落在工作日,即星期一至星期五。

参数
timestamp number 要检查的时间戳
返回值 boolean
示例
isBusinessDay(StartTime) true

如果StartTime是工作日

另请参阅

workingDaysBetween

(startTimestamp, endTimestamp)

计算两个时间戳之间的工作日数,即星期一至星期五。

参数
startTimestamp number 起始时间戳
endTimestamp number 结束时间戳
返回值 数字
示例
workingDaysBetween(StartTime, EndTime) 两个日期之间的工作日数
workingDaysBetween(1710766245000, 1711371045000) 5

2024年3月18日星期一至3月25日星期一之间有5个工作日

备注

近似的后端工作日历辅助函数。不考虑节假日,仅排除周末。

另请参阅

toUtc

(timestamp, offsetHours)

通过减去时区偏移量,将本地时间戳转换为UTC。

参数
timestamp number 本地时间戳
offsetHours number 时区偏移量(小时)
返回值 数字
示例
toUtc(StartTime, 2) StartTime-2小时

从UTC+2转换

toUtc(1710766245000, 2) 1710759045000

将时间戳从UTC+2转换为UTC

备注

时区转换目前支持以小时表示的数字UTC偏移量,不支持IANA时区名称。

另请参阅

toLocal

(timestamp, offsetHours)

通过增加偏移量,将UTC时间戳转换为本地时间。

参数
timestamp number UTC时间戳
offsetHours number 时区偏移量(小时)
返回值 数字
示例
toLocal(StartTime, -5) StartTime减5小时

转换为EST

toLocal(1710766245000, -5) 1710748245000

将UTC时间戳转换为EST(UTC-5)

备注

时区转换目前支持以小时表示的数字UTC偏移量,不支持IANA时区名称。

另请参阅

convertTimezone

(timestamp, fromOffset, toOffset)

将时间戳从一个时区转换到另一个时区。

参数
timestamp number 要转换的时间戳
fromOffset number 源时区偏移量(小时)
toOffset number 目标时区偏移量(小时)
返回值 数字
示例
convertTimezone(StartTime, 1, -5) 时间戳调整了6小时

CET转换为EST

convertTimezone(1710766245000, 1, -5) 1710744645000

将UTC+1转换为UTC-5

备注

时区转换目前支持以小时表示的数字UTC偏移量,不支持IANA时区名称。

另请参阅

相关主题