2013-09-30 33 views
2

我想查找加拿大安大略省的當前日期時間值。我用下面的代碼,但它不工作:如何在C#中獲取加拿大安大略省的當前日期時間值?

DateTime date = DateTime.ParseExact("20130930","yyyymmdd",System.Globalization.CultureInfo.CreateSpecificCulture("en-CA")); 

其中20130930是今天的日期,即2013年9月30日。我想以yyyymmdd格式輸出。我也嘗試過:

DateTime date = DateTime.ParseExact("20130930","yyyymmdd",System.Globalization.CultureInfo.CreateSpecificCulture("FR-CA")); 

但它顯示結果爲30-01-2013 00:09:00。任何人都可以請告訴我犯了什麼錯誤,如果需要的話可以糾正。

回答

2

您的格式字符串不正確

嘗試yyyyMMdd

,如果你需要的日期時間轉換回字符串

DateTime date = DateTime.ParseExact("20130930","yyyyMMdd",System.Globalization.CultureInfo.CreateSpecificCulture("en-CA")); 
string result = date.ToString("yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture); 

在日期時間格式MM是幾個月,mm是分鐘

Custom Date and Time Format Strings

您可以將當前時間轉換爲UTC,然後用它來尋找使用ConvertTimeFromUtc方法加拿大的日期時間,但你需要知道TimeZoneIdthis will help you

var result = TimeZoneInfo.ConvertTimeFromUtc(DateTime.Now.ToUniversalTime(), 
       TimeZoneInfo.FindSystemTimeZoneById("Atlantic Standard Time")); 
+0

是的,我只是錯過了謝謝它完美地工作。你能告訴我,如果我甚至希望現在的時間和日期一致嗎? – user2786794

+0

你可以改變'yyyyMMdd Hmmss' – Damith

相關問題