Adobe Workfront Fusion中的日期和时间函数

访问要求

您必须具有以下权限才能使用本文中的功能:

Adobe Workfront 计划
任何
Adobe Workfront 许可证

新文档: Standard

当前: Work或更高版本

Adobe Workfront Fusion 许可证**

当前:无Workfront Fusion许可证要求。

旧版:任意

产品

新增:

  • Select或Prime Workfront计划:您的组织必须购买Adobe Workfront Fusion。
  • 已包括Ultimate Workfront计划: Workfront Fusion。

当前:您的组织必须购买Adobe Workfront Fusion。

有关此表中信息的更多详细信息,请参阅Workfront文档中的访问要求

有关Adobe Workfront Fusion许可证的信息,请参阅Adobe Workfront Fusion 许可证

变量

现在

时间戳

函数

addSeconds(日期;数字)

将给定秒数添加到日期后返回新日期。 要减去秒数,请输入一个负数。

INFO
示例:
  • addSeconds(2016-12-08T15:55:57.536Z;2)

    返回2016-12-08T15:55:59.536Z

  • addSeconds(2016-12-08T15:55:57.536Z;-2)

    返回2016-12-08T15:55:55.536Z

addMinutes (日期;数字) addminutes-date-number

将给定分钟数添加到日期后返回新日期。 要减去分钟,请输入一个负数。

INFO
示例:
  • addMinutes(2016-12-08T15:55:57.536Z;2)

    返回2016-12-08T15:57:57.536Z

  • addMinutes(2016-12-08T15:55:57.536Z;-2)

    返回2016-12-08T15:53:57.536Z

addHours (日期;数字) addhours-date-number

将给定小时数添加到日期后返回新日期。 要减去小时数,请输入负数。

INFO
示例:
  • addHours(2016-12-08T15:55:57.536Z; 2)

    返回2016-12-08T17:55:57.536Z

  • addHours(2016-12-08T15:55:57.536Z;-2)

    返回2016-12-08T13:55:57.536Z

addDays (日期;数字) adddays-date-number

将给定天数添加到日期后返回新日期。 要减去天数,请输入一个负数。

INFO
示例:
  • addDays(2016-12-08T15:55:57.536Z;2)

    返回2016-12-10T15:55:57.536Z

  • addDays(2016-12-08T15:55:57.536Z;-2)

    返回2016-12-6T15:55:57.536Z

addMonths(日期;数字)

向日期添加指定月份数后,返回新日期。 要减去月份,请输入负数。

INFO
示例:
  • addMonths(2016-08-08T15:55:57.536Z;2)

    返回2016-10-08T15:55:57.536Z

  • addMonths(2016-08-08T15:55:57.536Z;-2)

    返回2016-06-08T15:55:57.536Z

addYears (日期;数字)

将给定年数添加到日期后返回新日期。 要减去年数,请输入一个负数。

INFO
示例:
  • addYears(2016-08-08T15:55:57.536Z;2)

    返回2018-08-08T15:55:57.536Z

  • addYears(2016-12-08T15:55:57.536Z; -2)

    返回2014-08-08T15:55:57.536Z

setSecond (日期;数字)

此函数使用参数中指定的秒数返回新日期。

指定从0到59的数字。 如果数字超出该范围,则函数返回前一分钟(对于负数)或后续分钟(对于正数)的秒数。

如果您需要指定超出范围的数字,我们建议您使用​ addSeconds,如上文addSeconds (date; number)部分所述。

INFO
示例:
  • setSecond(2015-10-07T11:36:39.138Z;10)

    返回2015-10-07T11:36:10.138Z

  • setSecond(2015-10-07T11:36:39.138Z; 6)

    返回2015-10-07T11:37:01.138Z

setMinute (日期;数字)

此函数使用参数中指定的分钟数返回一个新日期。

指定从0到59的数字。 如果数字超出该范围,此函数将返回上一小时(对于负数)或后续小时(对于正数)的分钟数。

如果您需要指定超出范围的数字,我们建议您使用addMinutes,如上文addMinutes (date; number)中所述。

INFO
示例:
  • setMinute(2015-10-07T11:36:39.138Z;10)

    返回2015-10-07T11:10:39.138Z

  • setMinute(2015-10-07T11:36:39.138Z;61)

    返回2015-10-07T12:01:39.138Z

setHour(日期;数字)

此函数使用参数中指定的小时数返回一个新日期。

指定从0到23的数字。 如果数字在此范围之外,此函数将返回前一日(对于负数)或后续日(对于正数)的小时数。

如果您需要指定超出范围的数字,我们建议您使用addHours,如addHours (date; number)中所述。

INFO
示例:
  • setHour(2015-08-07T11:36:39.138Z;6)

    返回2015-08-07T06:36:39.138Z

  • setHour(2015-08-07T11:36:39.138;-6)

    返回2015-08-06T18:36:39.138Z

setDay (日期;英文的日期编号/名称)

此函数使用参数中指定的日期返回一个新日期。

您可以使用此函数设置星期几,星期日为1,星期六为7。 如果指定从1到7的数字,则结果日期在当前(星期日到星期六)周内。 如果此数字超出该范围,则此函数返回上一周(对于负数)或后续周(对于正数)中的某天。

如果您需要指定超出此范围的数字,我们建议您使用addDays,如上文addDays (date; number)中所述。

INFO
示例:
  • setDay(2018-06-27T11:36:39.138Z;Monday)

    返回2018-06-25T11:36:39.138Z

  • setDay(2018-06-27T11:36:39.138Z;1)

    返回2018-06-24T11:36:39.138Z

  • setDay(2018-06-27T11:36:39.138Z;7)

    返回2018-06-30T11:36:39.138Z

setDate (日期;数字)

此函数返回一个新日期,其中包含在参数中指定的月份日期。

指定从1到31的数字。 如果数字在此范围之外,此函数将返回上个月中的一天(对于负数)或后续的月份(对于正数)。

INFO
示例:
  • setDate(2015-08-07T11:36:39.138Z;5)

    返回2015-08-05T11:36:39.138Z

  • setDate(2015-08-07T11:36:39.138Z;32)

    返回2015-09-01T11:36:39.138Z

setMonth(日期;英文月份编号/名称)

此函数使用参数中指定的月份返回一个新日期。

指定从1到12的数字。 如果数字超出此范围,此函数返回上一年(对于负数)或后续年(对于正数)中的月。

INFO
示例:
  • setMonth(2015-08-07T11:36:39.138Z;5)

    返回2015-05-07T11:36:39.138Z

  • setMonth(2015-08-07T11:36:39.138Z;17)

    返回2016-05-07T11:36:39.138Z

  • setMonth(2015-08-07T11:36:39.138Z;january)

    返回2015-01-07T12:36:39.138Z

setYear(日期;数字)

返回具有参数中指定的年份的新日期。

INFO
示例:
  • setYear(2015-08-07T11:36:39.138Z;2017)

    返回2017-08-07T11:36:39.138Z

formatDate (日期;格式;[时区])

当您有日期值(如12-10-2021 20:30)且要将其格式化为文本值(如Dec 10, 2021 8:30 PM)时,请使用此函数。

例如,当您需要在同一场景中将一个应用程序或Web服务的日期格式更改为连接的应用程序或Web服务的日期格式时,这将很有用。

有关详细信息,请参阅Adobe Workfront Fusion中的项目数据类型一文中的日期文本

参数

参数
预期的数据类型*
作用
日期
日期
将日期值转换为文本值。
格式
文本

允许您使用日期/时间格式令牌指定格式。 有关详细信息,请参阅Adobe Workfront Fusion中日期和时间格式的令牌。

示例: DD.MM.YYYY HH:mm

时区
文本

(可选)用于指定用于转换的时区。

有关可识别时区的列表,请参阅Wikipedia tz数据库时区列表中的“TZ数据库名称”列。 函数仅将此列中列出的值识别为有效时区。 将忽略任何其他值,并改为使用配置文件中指定的方案时区。 有关详细信息,请参阅在Adobe Workfront Fusion中更改配置文件设置一文。

如果忽略此参数,将应用用户档案设置中指定的方案时区。

示例: Europe/PragueUTC

如果提供了其他类型,则应用类型强制。 有关详细信息,请参阅在 Adobe Workfront Fusion中键入强制。

返回值和类型

formatDate函数根据指定的格式和时区返回给定日期值的文本表示形式。 数据类型为文本。

INFO
示例: ​在这些示例中,方案和Web时区都设置为Europe/Prague
  • formatDate(1. Date created;MM/DD/YYYY)

    返回10/01/2018

  • formatDate(1. Date created; YYYY-MM-DD hh:mm A)

    返回2018-10-01 09:32 AM

  • formatDate(1. Date created;DD.MM.YYYY HH:mm;UTC)

    返回01.10.2018 07:32

  • formatDate(now;DD.MM.YYYY HH:mm)

    返回19.03.2019 15:30

parseDate (文本;格式;[时区])

当您具有表示日期(如12-10-2019 20:30Aug 18, 2019 10:00 AM)的文本值,并且要将其转换(解析)为日期值(二进制计算机可读表示法)时,请使用此函数。 有关详细信息,请参阅Adobe Workfront Fusion🔗中的项目数据类型DateText

参数

第二列指示预期类型。 如果提供了其他类型,则应用类型强制。 有关详细信息,请参阅在 Adobe Workfront Fusion中键入强制。

参数
预期的数据类型*
作用
文本
文本
将日期值转换为文本值。
格式
文本

允许您使用日期/时间格式令牌指定格式。 有关详细信息,请参阅Adobe Workfront Fusion中日期和时间格式的令牌

示例: DD.MM.YYYY HH:mm

时区
文本

(可选)用于指定用于转换的时区。

有关可识别时区的列表,请参阅Wikipedia tz数据库时区列表中的“TZ数据库名称”列。 函数仅将此列中列出的值识别为有效时区。 将忽略任何其他值,并改为使用配置文件中指定的方案时区。 有关详细信息,请参阅文章在Adobe Workfront Fusion中更改配置文件设置

如果忽略此参数,将应用用户档案设置中指定的方案时区。

示例: Europe/PragueUTC

如果提供了其他类型,则应用类型强制。 有关详细信息,请参阅在 Adobe Workfront Fusion中键入强制。

返回值和类型

此函数根据指定的格式和时区将文本字符串转换为日期。 值的数据类型是Date。

INFO
示例: ​在以下示例中,返回的Date值是根据ISO 8601表示的,但结果的数据类型为Date。
  • parseDate(2016-12-28;YYYY-MM-DD)

    返回2016-12-28T00:00:00.000Z

  • parseDate(2016-12-28 16:03;YYYY-MM-DD HH:mm)

    返回2016-12-28T16:03:00.000Z

  • parseDate(2016-12-28 04:03 pm; YYYY-MM-DD hh:mm a)

    返回2016-12-28T16:03:06.000Z

  • parseDate(1482940986;X)

    返回2016-12-28T16:03:06.000Z

dateDifference (Date1; Date2; Unit)

返回表示两个日期之差的数字,以指定的单位表示。

从Date1减去Date2。

unit参数使用以下时间值之一:

  • 毫秒
  • 分钟
  • 小时
  • 星期

如果未指定单位,此函数将返回毫秒之差。

INFO
示例:
  • dateDifference(2021-05-11T18:10:00.000Z;2021-05-11T18:00:00.000Z)

    返回600,000

  • dateDifference(2021-05-11T18:10:00.000Z;2021-05-11T18:00:00.000Z;hours)

    返回4

  • dateDifference2021-06-11T18:10:00.000Z;2021-05-11T18:00:00.000Z;months)

    返回1

其他示例

如何计算月中每周的第n天

此部分针对Exceljet网页中的Workfront Fusion进行改编,该网页介绍了如何获取一个月中的第n天。

如果您需要计算与每月第n天对应的日期(例如,第一个星期二、第三个星期五等),可以使用以下公式:

{{addDays(setDate(1.date; 1); 1.n * 7 - formatDate(addDays(setDate(1.date; 1); "-" + 1.dow); "E"))}}

公式包含以下项:

1.n

第n天:

  • 1 (第1个星期二)
  • 2 第2个星期二
  • 3 第3个星期二,以此类推
2.dow

每周时间:

  • 1 表示星期一
  • 2 表示星期二
  • 3 表示星期三
  • 4 表示周四
  • 5 表示星期五
  • 6 表示星期六
  • 7 表示星期日
1.date
日期决定月份。 要计算当前月份中每周的第n天,请使用now变量。

如果您只想计算一个特定情况,例如,每逢星期三,则可以用相应的数字替换公式中的项1.n2.dow。 对于当月的第二个星期三,您将使用以下值:

  • 1.n = 2
  • 1.dow = 3
  • 1.date = now

说明:

  • setDate(now;1)返回当月的第一个月
  • formatDate(....;E)返回星期几(1, 2, … 6)

如何计算日期之间的天数

一种方法是使用以下表达式:

{{round((2.value - 1.value) / 1000 / 60 / 60 / 24)}}
NOTE
  • D1D2的值必须为Date类型值。 如果它们是字符串类型值(例如,20.10.2018),请使用parseDate()函数将它们转换为日期类型值。

  • round()函数用于日期之一在夏令时时间段内,而另一个日期不在夏令时时间段内的情况。 在这些情况下,小时数差等于或少于一小时。 对于非整数结果,可以将其除以24。 你损失了一个小时的夏令时。 将其扁平化以便没有百分比

如何计算每月的最后一天/毫秒

例如,当您在搜索模块中指定日期范围时,如果该范围跨越整个前一个月为一个关闭间隔(该间隔包含其两个限制点),则需要计算当月的最后一天。

2019-09-01 ≤ D ≤ 2019-09-30

下面的公式显示了一种计算上个月最后一天的方法:

{{addDays(setDate(now; 1); -1)}}

在某些情况下,您不仅需要计算每月的最后一天,还需要计算每月的最后一毫秒:

2019-09-01T00:00:00.000Z ≤ D ≤ 2019-09-30T23:59:59.999Z

此公式显示了一种计算上个月最后一毫秒的方法:

{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD"; "UTC") - 1; "x")}}

如果需要结果以使用时区设置,请忽略UTC参数:

{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD") - 1; "x")}}

但是,最好改用半开间隔(排除其限制点之一的间隔),指定下个月的第一天,并将“小于或等于”运算符替换为“小于”,如下所示:

2019-09-01 ≤ D < 2019-10-01

2019-09-01T00:00:00.000Z ≤ D < 2019-10-01T00:00:00.000Z

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43