简体   繁体   English

转换日期时间格式?

[英]Convert date time format?

I am trying to convert date time in 12/20/2013 17:40 format to the below format我正在尝试将12/20/2013 17:40格式的日期时间转换为以下格式

20 Dec 2013 05:40 pm . 20 Dec 2013 05:40 pm How it's possible?怎么可能?

You need to use DateTime.TryParseExact .您需要使用DateTime.TryParseExact This should do it这应该做

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");
}

OutPut:输出:

20 Feb 2013 05:40 PM
mydatetime.ToString("dd MMM yyyy hh:mm tt");
dt.ToString("dd MMM yyyy hh:mm tt");
dateTime.ToString("dd MMM yyyy hh:mm tt");

Method 1: if you have datetime in String format方法一:如果你有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");  

Method 2: if you have datetime in DateTime variable.方法 2:如果DateTime变量中有日期时间。

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

First of all, DateTime doesn't have a format , strings have..首先, DateTime没有格式,字符串有..

If your 12/20/2013 17:40 is a DateTime , you can use DateTime.ToString(String, IFormatProvider) method to format it like;如果您的12/20/2013 17:40DateTime ,则可以使用DateTime.ToString(String, IFormatProvider)方法对其进行格式化;

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

If your 12/20/2013 17:40 is a string , then you can use DateTime.ParseExact(String, String, IFormatProvider) method like;如果您的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));

Output will be;输出将是;

20 Dec 2013 05:40 PM

Here a demonstration .这里有一个demonstration

For more information, take a look at;有关更多信息,请查看;

In C# 6.0 you can use string interpolation in order to display formatted dates.C# 6.0您可以使用字符串插值来显示格式化的日期。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM