# Unity IPostprocessBuildWithReport Unity IPostprocessBuildWithReport是Unity引擎中的一個非常有用的功能,它可以讓開發者在構建項目後自動執行一些操作,並且可以獲取構建報告。這個功能可以幫助開發提高工作效率,減少手動操作的時間和錯 ...
最近遇到需要進行時區轉換和獲取/生成指定時區時間的需求。但網上大部分例子都是通過UTC時間或者DateTime.NtcNow或DateTime.Now實現的。但如果和第三方對接會出現對方只提供當地非當前時間且沒帶時區,這時候這些例子都不太滿足需求,所以研究了一下用NodaTime來解決這個問題。
代碼實現
string dateStr = "2024-01-01";
string zoneStr = "Asia/Tokyo";
DateTime dateTime = DateTime.Parse(dateStr);
LocalDateTime localDateTime = LocalDateTime.FromDateTime(dateTime);
DateTimeZone timeZone = DateTimeZoneProviders.Tzdb[zoneStr];
ZonedDateTime zonedDateTime = new ZonedDateTime(localDateTime, timeZone, timeZone.MinOffset);
優點
可以通過string隨意生成指定時區的指定時間,不需要通過UTC再轉換。
缺點
暫時沒有測試對夏令時的支持,以後有時間再研究。
TimeZone列表
https://nodatime.org/TimeZones