簡體   English   中英

迄今為止的字符串解析錯誤“字符串未被識別為有效的DateTime。”

[英]String to date parsing error “String was not recognized as a valid DateTime.”

在下面的屬性中,我將字符串解析為datetime。

public virtual string StartTimeLocal
{
    set { StartTime = DateTime.Parse(value).ToUTCDateTime(); }
}

剛剛檢查過的值我有26/1/2014 02:17 PM

您能幫我做錯什么以及如何糾正嗎?

DateTime.Parse解析標准日期和時間格式 您的字符串不是其中之一。

您可以改用DateTime.TryParseExactDateTime.ParseExact方法。

string s = "26/1/2014 02:17 PM";
DateTime dt;
if(DateTime.TryParseExact(s, "dd/M/yyyy hh:mm tt", 
                          CultureInfo.GetCultureInfo("en-US"), 
                          DateTimeStyles.None, out dt))
{
   Console.WriteLine(dt);
}
else
{
   //Your string is not a valid DateTime.
}

您的輸入使用en-US文化設置來格式化,因此您應確保您的應用程序在本地文化設置為en-US的系統上運行,或明確指定文化:

public virtual string StartTimeLocal
{
    set { StartTime = DateTime.Parse(value, CultureInfo.GetCultureInfo("en-US")).ToUTCDateTime(); }
}

請嘗試以下方法:

CultureInfo provider = CultureInfo.InvariantCulture;
format = "dd/MM/yyyy hh:mm tt";
result = DateTime.ParseExact(dateString, format, provider);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM