簡體   English   中英

在C#中將dd / MM / yyyy HH:mm tt轉換為MM / dd / yyyy HH:mm tt

[英]Convert dd/MM/yyyy HH:mm tt to MM/dd/yyyy HH:mm tt in C#

我想將字符串轉換為: "25/12/2017 4:00 PM""12/25/2017 4:00 PM" 我的代碼:

var TDXRSC = "25/12/2017 4:00 PM";
DateTime.ParseExact(TDXRSC, "dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture);

但這不起作用。

問題是您的日期格式應該是dd/MM/yyyy hh:mm tt但是參考日期只有一個數字小時4 您可能最好不要在幾天,幾個月或幾小時內都領先於零。

嘗試..

var TDXRSC = "25/12/2017 4:00 PM";
var input = DateTime.ParseExact(TDXRSC, "dd/MM/yyyy h:mm tt", CultureInfo.InvariantCulture);

這也將解析2位數小時。 因此var TDXRSC = "25/12/2017 12:00 PM"; 仍然可以正確解析。

var TDXRSC = "25/12/2017 4:00 PM";
var input = DateTime.ParseExact(TDXRSC, "dd/MM/yyyy h:mm tt", CultureInfo.InvariantCulture);
var output = input.ToString("MM/dd/yyyy h:mm tt");

當您調用ParseExact您是在告訴編譯器傳入日期是什么格式。 然后,您可以使用ToString()方法來提供解析日期的字符串表示形式的格式。

希望.TryParseExtract可以更安全地進行轉換,使用方式如下:

var dateString = "25/12/2017 4:00 PM";
DateTime inputDate; 
if(DateTime.TryParseExact(dateString, "dd/MM/yyyy h:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None, out inputDate))
{
   var output = inputDate.ToString("MM/dd/yyyy hh:mm tt");
   Console.WriteLine(output);
}
else
{
     Console.WriteLine("Conversion failed");
}

工作實例

var TDXRSC = "25/12/2017 4:00 PM";
DateTime date = Convert.ToDateTime(TDXRSC);
string Format = date.ToString("MM/dd/yyyy h:mm tt");

暫無
暫無

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

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