你好有沒有辦法將這個字符串「星期六04/23/2013 11:05 PM」轉換爲有效的日期時間格式?轉換爲日期時間格式
因爲它給了我FormatExceptionError每次我執行這個條件:
字符串未被識別爲有效的DateTime,因爲一週中的一天是不正確的。
if(DateTime.Parse("Saturday 04/23/2013 11:05 PM") < DateTime.Today)
{
//code here
}
是否有一個解決這個問題?
你好有沒有辦法將這個字符串「星期六04/23/2013 11:05 PM」轉換爲有效的日期時間格式?轉換爲日期時間格式
因爲它給了我FormatExceptionError每次我執行這個條件:
字符串未被識別爲有效的DateTime,因爲一週中的一天是不正確的。
if(DateTime.Parse("Saturday 04/23/2013 11:05 PM") < DateTime.Today)
{
//code here
}
是否有一個解決這個問題?
使用DateTime.ParseExact()
string _strdate = "Tuesday 04/23/2013 11:05 PM"; // should be tuesday
DateTime _date = DateTime.ParseExact(_strdate,"dddd MM/dd/yyyy hh:mm tt",
CultureInfo.InvariantCulture)
-1。按照OP的說法給出相同的錯誤。 – 2013-04-24 02:36:39
刪除-1 ...現在它也有點作弊 - 解析將處理有效的日期就好... OP要求無效的日期出於某種原因:) – 2013-04-24 02:51:27
是的。應該是星期二。對不起,我忘了更改dddd。 xD – 2013-04-24 03:18:40
字符串是由於周的當天不正確,因此未將其識別爲有效的DateTime。
04/23/2013是星期二,不是星期六。
也許當你的日期時間語句是矛盾時會發生異常。
希望它可以幫助...
哈哈哈。對不起。 :) – 2013-04-24 03:09:56
那麼,爲什麼我得到-1票?我們試圖給你解決方案...:\ – user151465464 2013-04-24 03:53:52
我沒有-1投票給你,先生。 – 2013-04-27 02:58:47
的日期和星期不匹配。 2013年4月23日是星期二,而不是星期六。在沒有任何世界的日曆中,你將在星期六擁有這一天。這就是爲什麼它給出錯誤的原因String was not recognized as a valid DateTime because the day of week was incorrect.
所以可能會它轉換你的日期,然後驗證。因此它在驗證中失敗。
但是,當提供星期二時,這將起作用。
string str = "Tuesday 04/23/2013 11:05 PM";
DateTime dt = DateTime.ParseExact(str, "dddd MM/dd/yyyy hh:mm tt", CultureInfo.InvariantCulture);
嘿,爲什麼-1。它有什麼問題? – 2013-04-24 02:43:22
哈哈哈。對不起!這幫助我追蹤了這個問題。 :) – 2013-04-24 02:52:53
如果你希望無效數據,你應該使用TryParse或TryParseExact
DateTime myDate;
if(DateTime.TryParse("Saturday 04/23/2013 11:05 PM", out myDate))
{
if (myDate < DateTime.Today) { //code here }
}
else
{
//Do something here for invalid data
}
很難無效值轉換爲有效的一個。你可以做字符串操作......你能簡單地拒絕無效值嗎? – 2013-04-24 02:37:53
@AlexeiLevenkov:當我們給出格式時,爲什麼解析確實不起作用。 – 2013-04-24 02:38:35
爲什麼有人把每個人都獻給-1?你願意解釋嗎? – Harrison 2013-04-24 02:48:58