UiPath 實作|提升對時間格式的掌握,讓設計流程不再卡關!(進階篇)

更新於 2023/12/16閱讀時間約 7 分鐘
初學者有時候無法順利執行 RPA 流程,可能只是因為未能留意系統的預設情況,因此 RPAI 數位優化器在提升對時間格式的掌握,讓設計流程不再卡關!(基礎篇)中,先簡單說明基本的時間格式與設定方法,協助初學者進行除錯,而進階篇則將透過實際操作,讓已經熟悉 UiPath 的學習者能靈活應用、加深印象!
以下介紹我們在設計流程時較常使用的方法,包括:
1. 字串型態(String)轉換成時間型態(DateTime)
2. 如何在流程控制(Flow control)中運用時間
3. 時間差的使用
在開始閱讀正文之前,也別忘了先追蹤我們的 臉書粉絲專頁方格子帳號

1. 字串型態(String)轉換成時間型態(DateTime)

當我們的任務是將文件(如Excel活頁簿)中的時間讀入UiPath時,會需要將型態(variable type)從String轉換成DateTime,以方便後續使用,這時就需要使用ParseExact屬性將輸入的資料變更型態,而ParseExact屬性也可用來擷取出我們需要的日期與時間。
點選Assign方框中的「System.Datetime」時,我們可以輸入以下語法:
System.DateTime.ParseExact(input(變數),input format(輸入形式), 
System.Globalization.CultureInfo.CurrentCulture)
舉例來說 Base = "03/15/2022" 【在此為String型態,Base是一個變數】
如果還想學習更多 UiPath 功能、實作案例並了解最新自動化趨勢,
歡迎加入「零基礎快速學習 RPA-利用 UiPath 建構自動化機器人」線上課程!課程優惠只到 2024 年 2 月 5 日,快點擊連結立即了解:https://mastertalks.tw/products/rpa-uipath?ref=RPARPA

1-1. 將資料從String型態轉換成DateTime型態:有兩種屬性可以使用

(1)ParseExact屬性
System.DateTime.ParseExact(Base,"MM/dd/yyyy", System.Globalization.CultureInfo.CurrentCulture)
(2)Parse屬性
System.DateTime.Parse(Base,"MM/dd/yyyy", System.Globalization.CultureInfo.CurrentCulture)
順帶一提,Parse屬性只能將時間從String型態改成DateTime,使用上較為侷限,故在此不多做討論。

1-2. 轉換日期的顯示格式:可使用ParseExact屬性

System.DateTime.ParseExact(Base,"MM/dd/yyyy", System.Globalization.CultureInfo.CurrentCulture).ToString("yyyy.MM.dd"):2022.03.15
此時的2022.03.15仍然是String型態。

1-3. 擷取特定日期:可使用ParseExact屬性

System.DateTime.ParseExact(Base,"MM/dd/yyyy", System.Globalization.CultureInfo.CurrentCulture).ToString("MM"):03
此時的03是String型態,而不是int32的數字型態

2. 如何在流程控制中運用時間

Case: 筆者曾經做過一個自動提醒信件的RPA機器人,活頁簿中有許多病人於不同時間就診的資訊,且這些病人須按照醫囑於指定時間回診,醫院希望在回診前一週自動寄信提醒,因此機器人可每天協助確認活頁簿中「指定回診日期前一週」與當日日期是否一致,相同時就會寄出提醒信。
在流程控制中,我們會需要透過比較,來確認兩者時間的關係,不過時間早、晚與數字的大、小概念並不完全相同,因此使用以下範例進行說明,並分享兩種比較方法:

2-1. 套用CompareTo屬性:使用上相當直覺,只需進行結果解讀

輸入:DateTime.Now.CompareTo(基準點時間),會出現>0、=0、<0三種結果。
● 當小於0的時候,表示現在時間比基準點時間(圖中菱形)
● 當等於0的時候,表示現在時間等於基準點時間(圖中圓形)
● 當大於0的時候,表示現在時間比基準點時間(圖中三角形)

2-2. 設計一個小型Sequence:

流程示意圖(if-then-else)來展示時間點比較的結果。a, b, c, d分別代表四個「時間點」,而「時間間隔」。因此,if (a>b)的概念是「時間點a是否比時間點b晚」。
如果 a > b 為真,表示 a 的日期是比較晚
如果 c < d 為真,表示 d 的日期是比較晚
比較時間差的情境時,兩種方法都相當實用,就筆者操作經驗來說,Sequence在執行上有更多變化與彈性,例如判斷時間早於某個日期時執行動作。不過,若遇到跨年度問題,則須將年份額外擷取出來討論,流程控制會變得太過複雜,此時使用CompareTo屬性時則會比較容易。特別留意,上述兩種方式仍須先將格式轉換成DateTime型態,才可正常運作哦!

如何計算時間間隔?

Substract屬性顧名思義有相減的概念,可用於計算兩個時間的間隔,以下範例的Date1和Date2型態都是DateTime:
語法:Date1.Substract(Date2)
(1)Date1和Date2的型態都是DateTime
(2)當Date1時間早於Date2的時候,結果會顯示負數
(3)當Date1時間晚於Date2的時候,結果會顯示正數
(4)結果數字的單位有可能是天、小時、分鐘、秒數,視使用者想要比較的時間而定
如果希望顯示結果的單位為小時,我們可使用以下語法:
語法:Date1.Subtract(Date2).Hours  (也可替換成Days、Minutes、Seconds)
Date1.Subtract(Date2).Hours和Date1.Subtract(Date2).TotalHours的差別:
.Hours只顯示差距時間的小時部分,分鐘數的差不計入。
.TotalHours則會將相差時間都轉換成小時顯示,包括分鐘數的差。
同理適用於 Days/TotalDays、Minutes/TotalMinutes、Seconds/TotalSeconds。

總結

本篇分享為 RPAI 數位優化器自行嘗試過的設定方法,也參考了 UiPath Forum 上的討論文章,初學者不妨可先從以上方法處理流程設計的時間問題,而越來越熟悉 UiPath 工具後,也可試著以不同方式完成相同任務,靈活運用設計流程!
如果你/妳喜歡這篇文章,歡迎點點愛心或留言,讓我們相互交流和成長!
這次的分享到此告一段落,想了解更多 RPA + AI 與數位轉型的最新趨勢與觀點、RPA 軟體功能介紹及實務應用案例,也歡迎追蹤 RPAI 數位優化器的社群和我們交流互動,我們下次見!
🚀 Instagram:RPAI 數位優化器
🚀 臉書粉絲專頁:RPAI 數位優化器
🚀 YouTube 頻道:RPAI 數位優化器
為什麼會看到廣告
avatar-img
134會員
113內容數
我們是以「機器人流程自動化(RPA)」結合「人工智慧(AI)」為主題的中文學習社群,旨在分享 RPA + AI 的學習資源、應用實例和最新發展趨勢,讓工作者透過自動化工具的有效應用,創造數位優化與轉型契機,讓我們一起由簡單開始,成就不簡單!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
RPAI 數位優化器 的其他內容
使用 UiPath 製作 RPA 機器人時,不少使用者會遇到如何設定日期與時間的格式問題,RPAI 數位優化器這次要來分享幾個簡單、好操作的設定方式,並分成基礎篇、進階篇兩篇文章,幫助大家了解 UiPath 中日期與時間的邏輯概念。
Excel 的表格型態優勢非常適合使用 UiPath,加上工作場合中 Excel 表格也經常被用來儲存顧客資料、管理貨品庫存,因此學習、熟悉 UiPath 中有關 Excel 的功能,將能幫助員工減輕許多重複性動作、搜尋目標資料、甚至挪動資料等等的任務,提升整體工作效率,進而掌握自己的工作節奏!
使用 UiPath 製作 RPA 機器人時,不少使用者會遇到如何設定日期與時間的格式問題,RPAI 數位優化器這次要來分享幾個簡單、好操作的設定方式,並分成基礎篇、進階篇兩篇文章,幫助大家了解 UiPath 中日期與時間的邏輯概念。
Excel 的表格型態優勢非常適合使用 UiPath,加上工作場合中 Excel 表格也經常被用來儲存顧客資料、管理貨品庫存,因此學習、熟悉 UiPath 中有關 Excel 的功能,將能幫助員工減輕許多重複性動作、搜尋目標資料、甚至挪動資料等等的任務,提升整體工作效率,進而掌握自己的工作節奏!
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
題目會定義一組類別和介面,要求我們實做餐廳訂位報號系統。 SeatManager(int n) : 初始化餐廳最多有n個座位,n 最少是1 int reserve() : 要求返回最小的可讓客人入座的空座位編號。 void unreserve(int seatNumber) : 取消訂位,這個座位歸
Thumbnail
最近剛好分配一個需求,要批次更新一些基礎設定資料,而新系統基礎設定資料都統一由別的團隊維護在Google Sheet 上,一開始是要我寫 Laravel Seeder 塞資料表,後來發現也太多數據要批次更新了,數據要對到何時何年,乾脆來研究串 Google Sheet API 整批塞入在對總行數就好
Thumbnail
在撰寫專案時,有時候可能需要做一些特定Exceptions 來拋出error message的情況,而在不同公司任職,大家配置的流程可能就有些不同,這邊將簡單練習如何配置自定義的Exception。
Thumbnail
UiPath(代號:PATH)最近告訴其投資者,它的增長速度正在急劇放緩。該消息導致其股票崩盤,甚至創下歷史新低。
Thumbnail
ARK 在 2021 中最看好的一家公司 UiPath(Path),僅僅 2 個季度,ARK 就將 Path 的持股比重提高到 3.01%(佔總投資比重的第 7 名)
Thumbnail
2021的疫情,顛覆了很多事情~~ 口罩,社交距離,人際關係,遠距教學,這些改變都是以前 從來沒有預料到的,連潔癖這個詞,都從負面翻轉,開始羨慕從小細節都不放過的愛乾淨媽媽呢!!而微解封後, 蛋花小隊開始出門露營 登山小旅遊,山上營地或是登山口附近民宿四處為家~ 以隨和出名的我們(還是隨便?),
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
在 IG 上看到一位前端大大用 Google Apps Script + Line bot 替自己的球隊安排了球經,覺得很有趣,想來玩看看
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
題目會定義一組類別和介面,要求我們實做餐廳訂位報號系統。 SeatManager(int n) : 初始化餐廳最多有n個座位,n 最少是1 int reserve() : 要求返回最小的可讓客人入座的空座位編號。 void unreserve(int seatNumber) : 取消訂位,這個座位歸
Thumbnail
最近剛好分配一個需求,要批次更新一些基礎設定資料,而新系統基礎設定資料都統一由別的團隊維護在Google Sheet 上,一開始是要我寫 Laravel Seeder 塞資料表,後來發現也太多數據要批次更新了,數據要對到何時何年,乾脆來研究串 Google Sheet API 整批塞入在對總行數就好
Thumbnail
在撰寫專案時,有時候可能需要做一些特定Exceptions 來拋出error message的情況,而在不同公司任職,大家配置的流程可能就有些不同,這邊將簡單練習如何配置自定義的Exception。
Thumbnail
UiPath(代號:PATH)最近告訴其投資者,它的增長速度正在急劇放緩。該消息導致其股票崩盤,甚至創下歷史新低。
Thumbnail
ARK 在 2021 中最看好的一家公司 UiPath(Path),僅僅 2 個季度,ARK 就將 Path 的持股比重提高到 3.01%(佔總投資比重的第 7 名)
Thumbnail
2021的疫情,顛覆了很多事情~~ 口罩,社交距離,人際關係,遠距教學,這些改變都是以前 從來沒有預料到的,連潔癖這個詞,都從負面翻轉,開始羨慕從小細節都不放過的愛乾淨媽媽呢!!而微解封後, 蛋花小隊開始出門露營 登山小旅遊,山上營地或是登山口附近民宿四處為家~ 以隨和出名的我們(還是隨便?),