[英]How to convert this string to datetime?
如何將其轉換為日期時間?
var datestring = "Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)"
迄今為止的格式如"09/06/2011"
。 我不介意服務器端還是客戶端。
我認為.Net框架沒有提供任何內置方法來解析這種格式的日期。 您可以從字符串中剝離時區的信息,然后按如下方式進行解析:
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");
@Naidu,您可以自己做此客戶端。
如果您使用的是kendo 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());
根據您的要求,這兩種輸出都將給出結果(09/06/2011)。 您還可以獲取“有時間的約會”
在這里參考jsFiddle: http : //jsfiddle.net/pTcJh/1/
這將是一個機會:
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;
您是否嘗試過將此字符串放入新的Date(dateString)的構造函數中?
它對我有用
new Date( datestring )
你可以拆分字符串,因為每個字符在字符串中都有一個固定的位置
string splits[] = datestring.Split(' ');
//switch for month "Jun" = 6
string date = string.Format("{0}/{1}/{2}", splits[2], month, splits[3]);
這就是我想出來的(使用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
好吧 ,我相信.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
檢查更多自定義日期格式
簡短而簡單,這應該可以解決問題:
更新:從頭開始,你甚至不需要我之前的格式提供程序。 這似乎工作正常:
var datestring = "Thu Jun 09 2011 00:00:00 GMT+0530 (India Standard Time)";
var date = DateTime.Parse(new string(datestring.Take(24).ToArray()));
date.ToString("dd/MM/yyyy");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.