[英]Convert various datetime formats to an specific one
我正在開發一個應用程序,我從用戶那里獲取各種日期時間格式(例如27/02/2016 12:00:00 AM
、 02/28/16 12:00:00 AM
、 4/18/2016 00:00:00
,...) 並且我必須全部轉換為M/dd/yyyy h:mm:ss
。
我試過:
DateTime.ParseExact(dateText,"M/d/yyyy HH:mm:ss", null);
DateTime.ParseExact(dateText,"M/d/yyyy h:mm:ss tt", null);
我還用CultureInfo.InvariantCulture
、 CultureInfo.CurrentUICulture.DateTimeFormat
和CultureInfo.CurrentCulture
替換了null
,它們在許多關於將字符串轉換為日期時間的問題中提到。
但我總是得到:
字符串未被識別為有效的日期時間
如果我這樣編碼,我可以轉換27/02/2016 12:00:00 AM
:
DateTime.ParseExact(dateText,"d/M/yyyy hh:mm:ss tt", null);
但這不是我想要的。
無論如何,是否可以使用一行代碼或至少一種方法將任何日期時間格式轉換為M/dd/yyyy HH:mm:ss
?
如果您知道所有可能的格式是什么,那么您應該調用DateTime.TryParseExact
的重載,它采用一組允許的格式。 否則,您可能應該調用DateTime.TryParse
,它將測試當前文化的所有可能的標准格式。
如果您知道文本有效,那么您可以改用ParseExact
或Parse
,然后直接對結果調用ToString
。 如果您確實使用了Try
方法之一,那么您首先必須測試轉換是否成功,如果成功,則可以對結果調用ToString
。
你可以像這樣轉換它:
string text = dateTime.ToString("MM/dd/yyyy HH:mm:ss.fff",
CultureInfo.InvariantCulture);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.