0

たとえば、日付/時刻形式があります。

"2012-06-28T08:26:57Z"

それはどのような日付/時刻形式で、C# で DateTime 形式を使用して次の形式に変換するにはどうすればよいですか。

"8/24/2012 4:09:17 AM"
4

8 に答える 8

6

あなたはこれを行うことができます:

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

于 2012-08-25T06:54:18.007 に答える
2

これはISO8601の日付/時刻文字列です。数字は、年、月、日、時、分、秒 (この順) です。

「T」はプレースホルダーです。それは何の意味もありません。

「Z」は、時刻がローカル タイム ゾーンではなく、GMT を基準にしていることを示します。

于 2012-08-25T06:50:26.007 に答える
1

それは 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);
于 2012-08-25T06:49:26.823 に答える
1

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");
于 2012-08-25T06:50:08.053 に答える
1

このようなものを使用してみてください。

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)
于 2012-08-25T06:50:08.817 に答える
1

このように日付を文字列に変換してみてください

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);

これらのリンクも役立つ場合があります。

DateTime.ToString() パターン

DateTime の文字列形式 [C#]

于 2012-08-25T06:50:12.460 に答える
1

ユニバーサル日時を現地時間に変換するには、これを試してください

    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");
于 2012-08-25T06:59:48.057 に答える
0

あなたは単に使用することができます:)

DateTime dt = Convert.ToDateTime( "2012-06-28T08:26:57Z");

于 2012-08-25T07:08:41.167 に答える