たとえば、日付/時刻形式があります。
"2012-06-28T08:26:57Z"
それはどのような日付/時刻形式で、C# で DateTime 形式を使用して次の形式に変換するにはどうすればよいですか。
"8/24/2012 4:09:17 AM"
あなたはこれを行うことができます:
string input = "2012-06-28T08:26:57Z";
var dt = DateTime.Parse(input);
string output = dt.ToString(@"MM/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
入力文字列の各部分の意味については、次のリンクを参照してください: http://www.w3.org/TR/NOTE-datetime
これはISO8601の日付/時刻文字列です。数字は、年、月、日、時、分、秒 (この順) です。
「T」はプレースホルダーです。それは何の意味もありません。
「Z」は、時刻がローカル タイム ゾーンではなく、GMT を基準にしていることを示します。
それは Universal Sortable 日付形式です
次のコードを使用して変換できます
var dt = DateTime.Parse("2012-06-28T08:26:57Z");
var newdt = String.Format("{0:G}", dt); // "6/28/2012 1:56:57 PM"
アップデート
これも試すことができます
var dt = DateTime.Parse("2012-06-28T08:26:57Z", System.Globalization.CultureInfo.InvariantCulture);
var newdt = String.Format("{0:G}", dt);
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspxこれはあなたの質問に対する答えです。ここでは、さまざまな日付形式を作成する方法を確認できます。このリソースによると、次のようなものを使用できます。
String olddate="2012-06-28T08:26:57Z";
DateTime date=Convert.ToDateTime(olddate);
String date1=date.ToString("M/d/yyyy h:m:s tt");
このようなものを使用してみてください。
var d = DateTime.Parse("2012-08-24T04:09:17Z");
Console.WriteLine (d.ToString("G"), CultureInfo.InvariantCulture);
「一般的な日付/時刻パターン (長時間)」に注意してください。in .net は文化固有です。msdn から:
6/15/2009 1:45:30 PM -> 6/15/2009 1:45 PM (en-US)
6/15/2009 1:45:30 PM -> 15/06/2009 13:45 (es-ES)
6/15/2009 1:45:30 PM -> 2009/6/15 13:45 (zh-CN)
このように日付を文字列に変換してみてください
date.ToString("yyyy-MM-dd HH':'mm':'ss")
ここで date は、日付が存在する変数です
またはこれを試してください
string timeString = "11/12/2009 13:30:00.000";
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime dateVal = DateTime.ParseExact(timeString, "dd/MM/yyyy HH:mm:ss.fff", culture);
これらのリンクも役立つ場合があります。
ユニバーサル日時を現地時間に変換するには、これを試してください
var date = DateTime.ParseExact("2012-08-25T06:57:57Z","yyyy-MM-ddTHH:mm:ssZ",System.Globalization.CultureInfo.CurrentCulture);
var newformat = date.ToString("MM/dd/yyyy HH:mm:ss tt");
あなたは単に使用することができます:)
DateTime dt = Convert.ToDateTime( "2012-06-28T08:26:57Z");