2013-10-25 86 views
0

我正在从JavaScript日期到C#这种格式“/Date(1330540200000)/转换日期“/日期(XXXXXXXXXXXX)/”在C#日期时间

我想这个“/Date(1330540200000)/”格式转换为MM:dd:yyyy格式在C# 。

我能够在JavaScript中转换它,但在这里我想转换它在C#中。

+1

这个数字代表什么? –

+0

就我个人而言,我尽量避免使用默认的序列化值,并建议您在将日期返回给客户端之前格式化日期。 – Candide

回答

1

你可以试试这个:

public static string ParseFromString(string dateTime){ 
    return new DateTime(1970,1,1).AddMilliseconds(double.Parse(Regex.Match ("/Date(1330540200000)/", @"(\d+)").Value)).ToString("MM:dd:yyyy"); 
} 
4

有很多javascript组件发送一个timestamp信息作为日期。您可以使用这样的功能:

public static DateTime ConvertTimeStampToDateTime(double value) 
{ 
    DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); //Unix Epoch on January 1st, 1970 

    return origin.AddMilliseconds(value); 
} 

你有DateTime结构后,您可以使用ToString(string format)格式化,只要你想为一个字符串,样品:

// a string timeStamp (for sample, in string). 
string timeStampString = "1330540200000"; 

// pass as a double, convert it if it is a string. 
DateTime myDate = ConvertTimeStampToDateTime(double.Parse(timeStampString)); 

string myDateFormated = myDate.ToString("MM:dd:yyyy"); 
+0

如何从该字符串中取出数字? –

+0

您可以使用'double.Parse'功能。看看我的编辑:) –

+0

问题是,当我将它转换为字符串时,它来作为“/ Date(1330540200000)/”而不是“1330540200000” –