3

これを日時に変換するにはどうすればよいですか?

var datestring = "Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)"

のような日付形式に"09/06/2011"。サーバー側かクライアント側かは気にしません。

4

9 に答える 9

7

この形式で日付を解析するために.Netフレームワークによって提供されるBuiltInメソッドはないと思います。文字列からタイムゾーンの情報を取り除き、次のように解析できます。

var datestring = "Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)";
DateTime dt = DateTime.ParseExact(datestring.Substring(0, 24),
                  "ddd MMM dd yyyy HH:mm:ss",
                  CultureInfo.InvariantCulture);

後で次のようにフォーマットできます。

string formattedDate = dt.ToString("dd/MM/yyyy");
于 2013-04-19T07:58:51.273 に答える
1

@Naidu、このクライアント側自体を実行できます。

剣道 UI で作業している場合は、日付の書式設定のオプションがあります。それ以外の場合は、プレーンな JavaScript を使用できます

kendoUI で:

var dateString = 'Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)';

// Date Formating in Kendo
alert(kendo.toString(new Date(dateString), 'dd/MM/yyyy'));

JavaScript の場合:

//  Date Formating in Javascript
var date = new Date(dateString);
alert(date.getDate() + '/' + Number(date.getMonth() + 1) + '/' + date.getFullYear());

両方の出力で、要求どおりの結果が得られます (2011 年 9 月 6 日)。「日付と時間」を取得することもできます

ここで jsFiddle を参照してください: http://jsfiddle.net/pTcJh/1/

于 2013-04-19T08:50:25.237 に答える
0

これはチャンスです:

string day = datestring.SubString(8, 2);
string month = datestring.SubString(4, 2);
switch(month)
{
    case "Jun":
        month = "06";
        break;
}
string year = datestring.SubString(11, 4);
string date = day + "/" + month + "/" + year;
于 2013-04-19T07:47:36.653 に答える
0

それが私が出てきたものです(Linqpadを使用):

String datestring = "Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)";
var d = datestring.Split(new char[] {' '}, 5).Take(4);
DateTime dt = DateTime.Parse(d.Aggregate((x, y) => x + " " + y));
dt.Dump();

結果:

09.06.2011 00:00:00
于 2013-04-19T08:03:38.123 に答える
0

.NET Frameworkには、この種の文字列を解析するための直接的な方法はないと思います。

ここに汚い方法があります:)

string datestring = "Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)";
string[] s1 = datestring.Split(new string[]{" "}, 6, StringSplitOptions.RemoveEmptyEntries);

string date = "";
for (int i = 0; i < 5; i++)
{
     date = date + s1[i] + " ";
}
date = date.TrimEnd();

DateTime yourdatetime = DateTime.ParseExact(date, "ddd MMM dd yyyy HH:mm:ss", CultureInfo.InvariantCulture);
Console.WriteLine(yourdatetime);

出力は次のようになります。

6/9/2011 12:00:00 AM

ここに がありDEMOます。

からさらにカスタムの日付形式を確認できますCustom Date and Time Format Strings

于 2013-04-19T08:04:20.867 に答える