2016-12-27 5 views
0

値をC#DateTimeに変換する必要があります。文字列(UTC)をDateTime(EST)に変換する

データは以下のようになります。

20161021から12:55:16.000

20161021から13:22:09.974

私は

String dtTime = "20161021-13:22:09.974"; 
dtTime = dtTime.Replace("-"," "); 

DateTime outPut = Convert.ToDateTime(dtTime); 

を試してみましたが、それがエラーをスローします。

これらのサンプルを有効な日付に変換する手助けを得ることができますか?

また、これらの値はUTCです。

私はESTに変換する必要があります。

あなたのお手伝いをお待ちしております。

+2

このサイトでは、 "それはエラーを発生させる"という反論があることに注意してください。この場合の詳細は回答との関連性は疑問ですが、投げられたエラーを指定することをお勧めします。 –

答えて

4

特定の形式でDateTime.ParseExactを使用する必要があります。

このチェックアウト:(あなたの日付とDateTime.Nowを置き換える)、このような何かをしようと、東部時間変換のためにhttps://msdn.microsoft.com/es-es/library/w2sa9yss(v=vs.110).aspx

を:

var timeUtc = DateTime.UtcNow; 
TimeZoneInfo easternZone = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"); 
DateTime easternTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, easternZone); 
0

私はTryParseExactを使用します。

String dtTime = "20161021-13:22:09.974"; 

DateTime outPut; 
if (DateTime.TryParseExact(dtTime, "yyyyMMdd-HH:mm:ss.fff", null, DateTimeStyles.None, out outPut)) 
{ 
    var est = TimeZoneInfo.ConvertTimeFromUtc(outPut, 
          TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")); 
    Console.WriteLine(est); 
} 
関連する問題