转换日期时间格式?

时间:2013-12-19 12:42:51

标签: c# datetime

我正在尝试将12/20/2013 17:40格式的日期时间转换为以下格式

20 Dec 2013 05:40 pm。怎么可能?

9 个答案:

答案 0 :(得分:5)

您需要使用DateTime.TryParseExact。这应该这样做

string originalDate = "2/20/2013 17:40";
DateTime parsedDate;
if (DateTime.TryParseExact(originalDate, "M/dd/yyyy HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out parsedDate))
{
     string requiredFormat = parsedDate.ToString("dd MMM yyyy hh:mm ttt");
}

输出:

20 Feb 2013 05:40 PM

答案 1 :(得分:3)

mydatetime.ToString("dd MMM yyyy hh:mm tt");

答案 2 :(得分:2)

dt.ToString("dd MMM yyyy hh:mm tt");

答案 3 :(得分:2)

dateTime.ToString("dd MMM yyyy hh:mm tt");

答案 4 :(得分:1)

方法1:如果您的日期时间为String格式

String str = "12/20/2013 17:40";//20 Dec 2013 05:40 pm
DateTime result;
string date="";
if (DateTime.TryParseExact(str, "MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.None, out result))
date=result.ToString("dd MMM yyyy hh:mm tt");  

方法2:如果您的日期时间为DateTime变量。

String strdatetime=datetime.ToString("dd MMM yyyy hh:mm tt");  

答案 5 :(得分:0)

DateTime time = DateTime.Now;
Console.WriteLine(time.ToString("dd MMM yyyy hh:mm tt"));

答案 6 :(得分:0)

答案 7 :(得分:0)

首先,DateTime没有格式,字符串有..

如果您的12/20/2013 17:40DateTime,则可以使用DateTime.ToString(String, IFormatProvider)方法对其进行格式设置;

date.ToString("dd MMM yyyy hh:mm tt", CultureInfo.InvariantCulture);

如果您的12/20/2013 17:40string,那么您可以使用DateTime.ParseExact(String, String, IFormatProvider)方法;

string s = "12/20/2013 17:40";
var date = DateTime.ParseExact(s, "MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture);
Console.WriteLine(date.ToString("dd MMM yyyy hh:mm tt", CultureInfo.InvariantCulture));

输出将是;

20 Dec 2013 05:40 PM

这里有 demonstration

有关更多信息,请查看;

答案 8 :(得分:0)

C# 6.0 中,您可以使用 string interpolation 来显示格式化的日期。

DateTime date = DateTime.Parse("12/20/2013 17:40");
string formattedDate = $"{date: dd MMM yyyy hh:mm tt}";