任何人都可以在格式化以下日期字符串格式的最佳方法建議...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'結構。 –