有什么方法可以从这个字符串中获取DateTime对象吗?

时间:2013-03-04 20:47:16

标签: c# asp.net

有没有办法从以下地址获取日期时间:

Mon Mar 04 2013 18:00:00 GMT-0500 (Eastern Standard Time)

若然,怎么样?

由于

4 个答案:

答案 0 :(得分:1)

您可以尝试解析日期时间。

datetime dt = new datetime("Mon Mar 04 2013 18:00:00");

dt = DateTime.Parse("Mon Mar 04 2013 18:00:00"); 

如果它已经在一个字符串中。你可能想把它放在try catch中,因为如果它不起作用。

这些方法会为您提供一个新的日期时间对象,您仍然可以操作它。

如果您想按特定顺序将其打印出来,则需要将其打印出来 像这样的东西。

dt.ToString("ddd MMM d yyyy HH:mm:ss"));

如果您需要更多关于日期时间对象的说明,您可以随时查看

http://www.dotnetperls.com/datetime-format

How to create a DateTime object?

答案 1 :(得分:0)

我不打算深入细节,但如果您知道该字符串总是那样,您可以使用

解析它
string[] inputString = myString.Split(' ')

您可以将其中的部分内容格式化为已知的日期时间格式

string dateString = String.Format({0}:{1}:{2}, myString[0], myString[i], myString[j]);

此时您可以使用

DateTime dt = DateTime.Parse(dateString)

获取实际的dateTime

答案 2 :(得分:0)

您正在寻找DateTime.ParseExactTryParseExact

这样的东西......你可能不得不玩它,我没有测试过这个,但是我觉得它给了你一般的想法。

var str = "Mon Mar 04 2013 18:00:00 GMT-0500 (Eastern Standard Time)"
var date = DateTime.ParseExact("ddd MMM dd yyyy HH:mm:ss GMTzzzzz (Eastern Standard Time)", str);

你可能必须在最后修剪“(东部标准时间)”位。如果格式字符串从字符串更改为字符串,我不确定如何用格式字符串覆盖它。

答案 3 :(得分:-1)

使用内置的convert方法,它应该能够获得

Convert.ToDateTime(dateStr);