我想将字符串转换为:"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);
但它不起作用。
答案 0 :(得分:2)
问题是您的日期格式为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";
仍会正确解析。
答案 1 :(得分:0)
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()
方法为解析日期的字符串表示形式提供格式。
答案 2 :(得分:0)
希望.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");
}
答案 3 :(得分:0)
var TDXRSC = "25/12/2017 4:00 PM";
DateTime date = Convert.ToDateTime(TDXRSC);
string Format = date.ToString("MM/dd/yyyy h:mm tt");