簡體   English   中英

C#日期時間格式無法比較

[英]c# datetime format unable to compare

我正在嘗試將日期與所需的格式進行比較,但它始終失敗

FormatException: String was not recognized as a valid DateTime.

我使用的格式正確,但是可能是什么問題?

My Sample Date format: "2018/04/13 18:56:02"


string format = "yyyy/MM/dd HH:mm:ss"; //date should always be in this format as per my requirement

步道1

_context.LogEntities.
.Where(p => (p.timestamp) > DateTime.Now.AddDays(-1))

小徑2

_context.LogEntities.
.Where(p => (DateTime.ParseExact(p.timestamp, format, CultureInfo.InvariantCulture)) > DateTime.Now.AddDays(-1))

小徑3

_context.LogEntities
.Where(p => Convert.ToDateTime(DateTime.ParseExact(p.timestamp, format, CultureInfo.InvariantCulture)) > DateTime.Now.AddDays(-1))

如果您的時間戳采用指定的格式,則可以像這樣從中創建DateTime對象: 在C#中將字符串解析為DateTime

然后,您只需使用比較運算符<<===>>=即可比較兩個DateTime

因此,您的嘗試2應該可以工作。

請仔細檢查此嘗試,因為在這種情況下沒有理由出現此錯誤消息。

如注釋中所建議,您可以嘗試重寫代碼,以便更輕松地對其進行調試。

如果您找到了一種方法,例如,在一個簡單的循環中使用DateTime.Parse單獨執行轉換,則可以更輕松地檢查不同的值以及引發異常的方式和原因。

暫無
暫無

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

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