Adobe Workfront Fusion中的日期和時間函式
存取需求
您必須具有下列存取權才能使用本文中的功能:
如需有關此表格的詳細資訊,請參閱Workfront檔案中的存取需求。
如需Adobe Workfront Fusion授權的相關資訊,請參閱Adobe Workfront Fusion 授權。
變數
now
timestamp
函數
addSeconds (日期;數字)
將指定秒數新增至日期後,傳回新日期。 若要減去秒數,請輸入負數。
-
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
將指定分鐘數新增至日期後,傳回新日期。 若要減去分鐘,請輸入負數。
-
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
將指定小時數新增至日期後,傳回新日期。 若要減去時數,請輸入負數。
-
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
將指定天數新增至日期後,傳回新日期。 若要減去天數,請輸入負數。
-
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 (日期;數字)
將指定月份數新增至日期後,傳回新日期。 若要減去月份,請輸入負數。
-
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 (日期;數字)
將指定年份新增至日期後,傳回新日期。 若要減去年數,請輸入負數。
-
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)所述。
-
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)所述。
-
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)所述。
-
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)所述。
-
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的數字。 如果數字超出此範圍,此函式會傳回前一個月中的一天(如果是負數)或後續的月份(如果是正數)。
-
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的數字。 如果數字超出此範圍,此函式會傳回前一年(負數)或後續年度(正數)中的月份。
-
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 (日期;數字)
以引數中指定的年份傳回新日期。
-
setYear(2015-08-07T11:36:39.138Z;2017)
傳回2017-08-07T11:36:39.138Z
formatDate (日期;格式;[時區])
當您有Date值(例如12-10-2021 20:30
)且想要格式化為Text值(例如Dec 10, 2021 8:30 PM
)時,請使用此函式。
例如,當您需要將某個應用程式或Web服務的日期格式變更為相同案例中連線應用程式或Web服務的日期格式時,這個選項會很有用。
如需詳細資訊,請參閱文章Adobe Workfront Fusion中的專案資料型別中的日期和文字。
參數
(選用)可讓您指定用於轉換的時區。
如需可辨識時區的清單,請參閱Wikipedia tz資料庫時區清單中的「TZ資料庫名稱」欄。 函式只會將此欄中列出的值辨識為有效時區。 系統會忽略任何其他值,而改用設定檔中指定的案例時區。 如需詳細資訊,請參閱文章在Adobe Workfront Fusion中變更設定檔設定。
如果您忽略此引數,則會套用設定檔設定中指定的情境時區。
範例: Europe/Prague
, UTC
如果提供不同的型別,則會套用型別強制執行。 如需詳細資訊,請參閱在 Adobe Workfront Fusion中鍵入強制。
傳回值和型別
formatDate
函式會根據指定的格式和時區,傳回指定日期值的文字表示法。 資料型別為「文字」。
Europe/Prague
。-
formatDate(1. Date created;MM/DD/YYYY)
傳回2018/10/01
-
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:30
或Aug 18, 2019 10:00 AM
)的Text值,而且您想要將其轉換(剖析)為Date值(二進位電腦可讀的表示法)時,請使用此函式。 如需詳細資訊,請參閱文章在Adobe Workfront Fusion中的專案資料型別日期和文字。
參數
第二欄指出預期的型別。 如果提供不同的型別,則會套用型別強制執行。 如需詳細資訊,請參閱在 Adobe Workfront Fusion中鍵入強制。
(選用)可讓您指定用於轉換的時區。
如需可辨識時區的清單,請參閱Wikipedia tz資料庫時區清單中的「TZ資料庫名稱」欄。 函式只會將此欄中列出的值辨識為有效時區。 系統會忽略任何其他值,而改用設定檔中指定的案例時區。 如需詳細資訊,請參閱文章在Adobe Workfront Fusion中變更設定檔設定。
如果您忽略此引數,則會套用設定檔設定中指定的情境時區。
範例: Europe/Prague
, UTC
如果提供不同的型別,則會套用型別強制執行。 如需詳細資訊,請參閱在 Adobe Workfront Fusion中鍵入強制。
傳回值和型別
此函式根據您指定的格式和時區將文字字串轉換為日期。 值的資料型別為「日期」。
-
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
引數使用下列其中一個時間值:
- 毫秒
- 秒
- 分鐘
- 小時
- 天
- 周
- 月
若未指定單位,此函式會傳回毫秒差。
-
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
和2.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)}}
-
D1
和D2
的值必須是日期型別值。 如果是String型別值(例如20.10.2018),請使用parseDate()
函式將它們轉換為Date型別值。 -
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