9

整理幾個 Azure Logic Apps 與 Power Automate 會用到的日期函式

 3 years ago
source link: https://blog.miniasp.com/post/2021/07/04/Common-Date-functions-in-expressions-for-Azure-Logic-Apps-and-Power-Automate
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

最近熱愛 low-codeno-code 的解決方案,簡單拖拉幾個設定,或是複製之前寫好的 JSON,就可以快速完成一個日常的自動化工作,減少越來越多的人工操作,重點是幾乎不用花錢,也不用花心思在部署上。今天我要來整理幾個 Azure Logic AppsPower Automate 會用到的日期函數,因為我的自動化工作大多都跟日期時間有點關係。

Azure Logic App 的 Consumption Plan 每個月有 4,000 次觸發動作是完全免費的!

基本「日期」觀念

其實在 Azure Logic AppsPower Automate 裡面並沒有「日期」型別,所有的 timestamp 都是以 ISO 8601 的「字串」來表示。

  • 表達一份 UTC 日期時間格式

    2021-07-04T03:30:08.9644580Z
    

    日期與時間之間會有個 T 字元,結尾有個 Z 字元,就代表這是一個 UTC 時間!

  • 轉換一份無法判斷的日期時間格式

    如果你有個字串為 10212011,雖然人眼看的出是 月日年 (MMddyyyy),但是系統卻無法正確解析,此時就可以利用字串串接的技巧,重新格式化成看的懂的格式 (MM-dd-yyyy),再透過 formatDateTime 轉換成你想要轉換過去的格式 (yyyy-MM-dd)。

    formatDateTime(concat(substring('10212011', 0,2), '-', substring('10212011', 2,2), '-', substring('10212011', 4,4)), 'yyyy-MM-dd')
    

    注意:如果 formatDateTime 函式沒有加上第二個 format 參數,預設輸出的格式為 yyyy-MM-ddTHH:mm:ss.fffffffK

  • 轉換一份 Epoch time (Unix time) 時間為 timestamp

    Epoch 時間又稱 Unix time,一般來說都是以 UTC 時間來計算的,而且都是從 1970-01-01T00:00:00Z 到現在時間的 Seconds (秒數)!

    所以你可以用 addSeconds 函式來將一個數值轉換成 timestamp 格式:

    addSeconds('1970-01-01T00:00:00Z', 1625384178)
    

    偶爾會有人將 Epoch time 改用 Milliseconds (豪秒) 單位,這時就要記得先除以 1000 才能進行轉換:

    addSeconds('1970-01-01T00:00:00Z', div(1625384178964, 1000))
    

    這裡有個好用的 Epoch & Unix Timestamp Conversion Tools 可以幫你轉換 Epoch 時間格式。另外,如果你想在 Linux 環境下快速取得當下的 Epoch 時間,可以使用 date +%s (秒) 或 date +%s%3N (豪秒) 命令!

常見的日期函式

  • 取得 UTC 當前時間

    utcNow()
    
    2021-07-04T03:30:08.9644580Z
    
  • 取得台北標準時間當前時間

    convertFromUtc(utcNow(), 'Taipei Standard Time')
    
    2021-07-04T11:30:08.9644580
    
  • 指定輸出特定日期時間格式(台北標準時間)- 日期部分

    formatDateTime(convertFromUtc(utcNow(), 'Taipei Standard Time'), 'yyyy-MM-dd')
    
    2021-07-04
    

    自訂日期格式的語法詳見 Custom date and time format strings 文件。

  • 指定輸出特定日期時間格式(台北標準時間)- 時間部分

    formatDateTime(convertFromUtc(utcNow(), 'Taipei Standard Time'), 'hh:mm:ss')
    
    11:30:08
    
  • 取得今天星期幾(台北標準時間

    dayOfWeek(convertFromUtc(utcNow(), 'Taipei Standard Time'))
    
    0
    

    注意:星期天0星期一1,依此類推,星期六6

  • 取得當月的第一天 (台北標準時間

    formatDateTime(startOfMonth(convertFromUtc(utcNow(), 'Taipei Standard Time')), 'yyyy-MM-dd')
    
    2021-07-01
    
  • 取得次月的第一天 (台北標準時間

    formatDateTime(startOfMonth(addToTime(convertFromUtc(utcNow(), 'Taipei Standard Time'), 1, 'month')), 'yyyy-MM-dd')
    
    2021-08-01
    
  • 取得當月的最後一天 (台北標準時間

    formatDateTime(subtractFromTime(startOfMonth(addToTime(convertFromUtc(utcNow(), 'Taipei Standard Time'), 1, 'month')), 1, 'second'), 'yyyy-MM-dd')
    
    2021-07-31
    

Recommend

  • 10

    我們在「前言篇」有提到大腦有分「專注」模式和「發散」模式,這篇我們將更詳盡的描述大腦如何運作,掌握要點來幫助你學習更有效率。 大腦的兩種思考模式...

  • 10

    PowerShell - 將多參數以陣列變數傳入函式-黑暗執行緒分享最近學到的 PowerShell 小技巧。 假設我有個接受多個參數的函式,有三種參數寫法。第一種是寫成 FuncName Arg1 Arg2 Arg3... 依序列出,中間以空白間隔(注意:不要加 ( ) 及 ,,參考:

  • 16

    我們最近幾年幾乎所有案子都導入 CI/CD,把所有能自動化的工作全部都指令化,所以只要公司需要開發時期用的測試機,或是客戶需要安裝主機,通常都可以在 10 分鐘內搞定所有環境與設定。今天這篇文章我要來分享幾個常用的 7-Zi...

  • 7

    我每隔幾年我就會遇到一次 non-Unicode 的編碼問題,真的不常見,但這些年來也處理過無數次了,每次都被搞的很煩。最近在 Linux 環境又遇到棘手的編碼問題,檔案內容是從 ISO-8859-1 (Latin-1) 字集的 Sybase ASE 資料庫轉出,所以編碼是 IS...

  • 8

    介紹幾個 .NET SDK、.NET CLI 與 .NET runtime 執行時的好用環境變數我在 Environment variables used by .NET SDK, .NET CLI, and .NET...

  • 6

    web.config PowerShell 更新函式庫-黑暗執行緒有些 IIS 設定要靠改 web.config 完成,有些環境較一致,可以預先寫好覆寫即可,但如果更新的 web.config 有多個且內容不同,最無腦的做法是寫成操作指示請相關人員執行:「打開 web.conf,找到 system.webSesrver/...

  • 12
    • webber0928.blogspot.com 3 years ago
    • Cache

    幾個有興趣的前端框架

    幾個有興趣的前端框架 如果你像我一樣是一個對 UI 開發不那麼在行,或是無法花太多時間在 UI 設計的 Web 開發者,但卻想能夠快速建立一個可用的 UI 介面,那麼最快的方法就是借重別人寫好的前端框架。 這...

  • 0
    • blog.niclin.tw 3 years ago
    • Cache

    ES6 箭頭函式 (Arrow functions)

    很多人箭頭函式寫久了卻不清楚和一般 function 的差異在哪,大概能記得的就是簡潔好寫這樣。不過還是有些細節要注意,寫法上也有可以縮寫的方式。// 普通寫法 const currentLanguage = (user) => { return user.locale } // 縮寫...

  • 10

    從簡單的 C 語言函式來看現代 Compiler 使用 SIMD 的威力 兩個禮拜前在 Hacker News Daily 上...

  • 7

    在 Hacker News 上看到幾個 Key-Value Store 軟體 在 Hacker News 上看到「

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK