2017-05-12 14 views
0

-6のようなデータベースからの特定のレコードのタイムゾーン情報があります。これはUTC-6を意味します。
どうすれば-6私のUTC時間をUTC-6に変換できますか?データベースからのタイムゾーン情報を使用してUTC時刻を現地時刻に変換する

私はTimeZoneInfoをC#で使用する必要があると思います。
タイムゾーン情報がすべてのレコードで同じではありません。

+0

はい、私はタイトルで混乱していました –

答えて

0

DateTimeOffsetを使用すると、オフセット付きの日付を作成できます。

var dbDate = myRawDbDate.Kind == DateTimeKind.Unknown ? DateTime.SpecifyKind(myRawDbDate, DateTimeKind.Utc): myRawDbDate; 
var localDdate = new DateTimeOffset(dbDate, new TimeSpan(0,6,0)).DateTime; 
+0

日付はまだUTC-6に変換されていません。DateTime.SpecifyKind(myRawDbDate、DateTimeKind.Utc)これはUTCのローカル日付時刻を返します。 –

+0

@DrewAguirre編集の回答 –

+1

小さな構文エラー: '.DateTime'の前に閉じかっこがなく、' TimeSpan'の大文字化がありません。また、(私にとにかく) 'TimeSpan.FromHours(6)'を読みやすくすることもできます。 –

0

こんにちは、TimeZoneInfoクラスを使用できます。

var timeZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); //UTC-6 
var UTC6date = TimeZoneInfo.ConvertTimeFromUtc(Yourdate.ToUniversalTime(), timeZone); 

詳細はこちらのリンクをご覧ください。 MSDN:UTC-6のすべての時間帯を表示するhttps://msdn.microsoft.com/en-us/library/bb382835(v=vs.110).aspx

:00など

使用TimeZoneInfo.GetSystemTimeZones()方法。

サンプルコード:

var timeZonList = TimeZoneInfo.GetSystemTimeZones(); 

    foreach (var item in timeZonList) 
    { 
     Console.WriteLine(item); 
    } 

TimeZoneInfo.ConvertTimeFromUtc(date converted to universal time, "Timezone to convert your date"). 

は、この情報がお役に立てば幸いです。

関連する問題