簡體   English   中英

使用 C# 將字符串解析為日期

[英]Parse string into date with c#

有沒有一種方法來分析以下字符串為日期,不要拆開它WRT -人物?

25-11-2014
5-6-2013
3-10-2012

我在另一個案例中使用了以下代碼。 但是由於缺少前導零,它不起作用。

DateTime.ParseExact("06-05-2016", "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);

考慮你的格式化字符串

格式化字符串對於它們期望出現的內容非常嚴格。如果您指出您將收到一個兩位數的日期,那么它將期望一個前導零。

因此,您可以考慮將格式化字符串更改為接受單個字符日期和月份的格式字符串,這將滿足您提供的所有示例輸入,如下所示

DateTime.ParseExact(input, "d-M-yyyy", System.Globalization.CultureInfo.InvariantCulture);

處理多種格式

此外, DateTime.ParseExact()方法有一個重載,它接受多個格式化字符串,這將允許從本質上定義您的日期可能采用的多種格式:

DateTime.ParseExact(input, new []{ "d-M-yyyy", "dd-MM-yyyy" }, System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None);

請參閱自定義日期和時間格式字符串

您的代碼:

DateTime.ParseExact("06-05-2016", "dd-MM-yyyy", ...);

明確表示“查找兩位數的日期和月份”。 如果您想要個位數的月/天(沒有前導零),只需更改格式字符串...

DateTime.ParseExact("06-05-2016", "d-M-yyyy", ...)

這將允許您使用 1-31 天而不是 01-31,以及 1-12 月而不是 01-12 月。

暫無
暫無

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

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