2016-07-01 55 views
0

我需要檢查某個時區是否仍在指定的日期之內。類似DateTime.Today == DateTime.Parse("2016-06-30"),但在某些時區。什麼是最好的方式來做到這一點?DateTime.Today對於特定時區

+0

[This](http://stackoverflow.com/a/441145/4934172)可能會有所幫助。 –

回答

3

您需要獲取UTC Time,找到TimeZoneInfo,並將UTC time轉換爲您的TimeZoneInfo

DateTime utcTime = DateTime.UtcNow; 
TimeZoneInfo serverZone = TimeZoneInfo.FindSystemTimeZoneById(YourTimeZoneID); 
DateTime currentDateTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, serverZone); 
+0

謝謝!但是因爲我需要的只是日期,所以我做了以下操作:'DateTime theDate =(TimeZoneInfo.ConvertTimeFromUtc(utcTime,serverZone))。Date;' –

0

我會檢查出TimeZoneInfo類。

用於轉換到一個特定的時區

方法是:

public static DateTime ConvertTime(
    DateTime dateTime, 
    TimeZoneInfo sourceTimeZone, 
    TimeZoneInfo destinationTimeZone 
) 

有與東西像UTC處理以及其他方法。查看文檔here