簡體   English   中英

將各種日期時間格式轉換為特定的格式

[英]Convert various datetime formats to an specific one

我正在開發一個應用程序,我從用戶那里獲取各種日期時間格式(例如27/02/2016 12:00:00 AM02/28/16 12:00:00 AM4/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.InvariantCultureCultureInfo.CurrentUICulture.DateTimeFormatCultureInfo.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 ,它將測試當前文化的所有可能的標准格式。

如果您知道文本有效,那么您可以改用ParseExactParse ,然后直接對結果調用ToString 如果您確實使用了Try方法之一,那么您首先必須測試轉換是否成功,如果成功,則可以對結果調用ToString

你可以像這樣轉換它:

string text = dateTime.ToString("MM/dd/yyyy HH:mm:ss.fff",
                                CultureInfo.InvariantCulture);

暫無
暫無

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

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