簡體   English   中英

DateTime.TryParseExact對於C#中的某些字符串返回false

[英]DateTime.TryParseExact returns false for some string in c#

我在解析日期時遇到問題。 我做了以下常用功能。

public static string ConvertedDate(string date)
        {
            if(!string.IsNullOrEmpty(date))
            {
                DateTime returnValue;
                bool flag = DateTime.TryParseExact(date, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out returnValue);
                return flag ? returnValue.ToString("MM.dd.yyyy") : null;
            }
            else
            {
                return null;
            }
        }

但是非常奇怪的事情發生了,有些字符串已成功轉換為DateTime,但有些返回false。

例如 :

“ 2017-05-11 12:00:24”此字符串成功解析。

“ 2015-03-06 20:18:42”此字符串不能。

字符串的格式相同。

我觀察到,當“ hour(hh)”超過12時,就無法解析它。

您需要將yyyy-MM-dd hh:mm:ss更改為yyyy-MM-dd HH:mm:ss,即24​​小時制的小時數。 注意從hh到HH的更改。

參見此處: C#DateTime為“ YYYYMMDDHHMMSS”格式

暫無
暫無

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

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