![](/img/trans.png)
[英]C# how to change date format DD.MM.YY to DD/MM/YY using DateTime.ParseExact Method
[英]DateTime.ParseExact returns wrong date for the 'dd/MM/yyyy h:mm tt' format
我需要將日期時間從MM/dd/yyyy h:mm:ss tt
格式轉換為dd/MM/yyyy h:mm:ss tt
我的密碼
var date = ((DateTime)model.WorkshopDate).ToString("dd/MM/yyyy h:mm:ss tt");
var resultDate = DateTime.ParseExact(date, "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
結果date = 25/12/2017 12:00:00 AM
但是resultDate = 12/25/2017 12:00:00 AM
。
我怎樣才能正確解析?
您正在調試器中查看該對象,它是日期時間對象,而不是日期的顯示版本。
例:
var theDate = DateTime.UtcNow;
var date = theDate.ToString( "dd/MM/yyyy h:mm:ss tt" );
var resultDate = DateTime.ParseExact( date, "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture );
Console.WriteLine(date == resultDate.ToString("dd/MM/yyyy h:mm:ss tt"));//Returns true
如您所見,它們是相同的日期,所以只要將.ToString()
為顯示時所需的任何格式即可。
您無需將其轉換為String
並返回DateTime
。 生成的DateTime
對象應具有相同的Date。 要在某處顯示它,只需要將其轉換:
((DateTime)model.WorkshopDate).ToString("dd/MM/yyyy h:mm:ss tt");
這里
var date = ((DateTime)model.WorkshopDate).ToString("dd/MM/yyyy h:mm:ss tt");
您暗中要求以“ dd / MM / yyyy h:mm:ss tt”顯示日期
var resultDate = DateTime.ParseExact(date, "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
在這里,系統默認格式用於顯示日期。
如果要同時顯示兩者
Console.WriteLine(date);
Console.WriteLine(resultDate.ToString("dd/MM/yyyy h:mm:ss tt"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.