任何人都可以在格式化以下日期字符串格式的最佳方法建议...C#日期/时间格式
星期六,9月22日
的东西,我可以在SQL存储服务器作为一个日期/时间......使用格式
如YYYY/MM/DD
我可以在代码中做到这一点,但我阅读数百XML的提取不知道如何是st来解决这个问题。
任何人都可以在格式化以下日期字符串格式的最佳方法建议...C#日期/时间格式
星期六,9月22日
的东西,我可以在SQL存储服务器作为一个日期/时间......使用格式
如YYYY/MM/DD
我可以在代码中做到这一点,但我阅读数百XML的提取不知道如何是st来解决这个问题。
您可以使用DateTime.Parse()
有关信息,请参见here。虽然,你必须在那里有一年的时间。
DateTime convertedDate = DateTime.Parse("Sat, Sep 22 2012");
编辑:
因为我们不知道,如果你知道你正在处理的是哪一年,我建议你可以使用这样的:
Int32 thisYear = DateTime.Now.Year;
string aDate = "Sat, Sep 22";
DateTime outDate;
while (!DateTime.TryParse(aDate + " " + thisYear.ToString(), out outDate))
thisYear--;
这将得到适合描述的最近一年的DateTime。如果您尝试使用“周五,9月22日”的aDate
,则结果将为“9/22/2006”。
或者,如果你只是想用“今年”你可以只使用这样的:
String[] myDate = ("Fri, Sep 22").Split(',');
DateTime convertedDate = DateTime.Parse(myDate[1].ToString());
DateTime.Parse()不需要日期。它将采用海报提供的输入并假设当前年份。 – McArthey
我希望能够“聪明地”确定基于星期几的一年,但尝试“星期六,9月24日”(这将是2011年)只是给出了错误:字符串未被识别为有效的日期时间,因为星期几是不正确的。 – McArthey
@McArthey,我刚刚在我的IDE中试过。你是对的!我每天都会学到新的东西。我不知道它会假设今年。 – davehale23
DateTime result;
DateTime.TryParse("Sat, Sep 22", out result);
Response.Write(result.ToString("yyyy/M/dd"));
这不今年解析。在这种情况下,输出是“2012/9/22”。
SQL Server支持一些特定的日期格式。您可以使用yyyy-MM-dd
格式。请检查以下代码:
string dt = DateTime.Now.ToString("yyyy-MM-dd");
您不应该担心日期如何存储。您可以以任何您想要的格式显示日期,并且可以在SQL Server和.Net中完成。
你怎么知道它是'星期六,九月22'哪一年?假设今年是当前(2012年)? –
是的,看到我对@ davehale23回答的评论。如果DOW与当年不符,您将收到错误信息。 – McArthey
SQL Server支持我将使用的'DateTime'结构。 –