DateTime格式转换mm / dd / yyyy到yyyy / mm / dd

时间:2017-03-01 00:08:13

标签: c# date datetime

有人可以告诉我如何将此日期时间格式转换为yyyyMMdd

2/28/2017 12:02:04 AM

在输出中我应该得到20170228

对此有何建议?

4 个答案:

答案 0 :(得分:3)

如果您已将DateTime作为对象

string formattedDate = date.ToString("yyyyMMdd");

如果您需要先解析该值。

string dateValue = "2/28/2017 12:02:04 AM";
string format = "M/d/yyyy hh:mm:ss tt";

DateTime dateTime = DateTime.ParseExact(dateValue, format,
            System.Globalization.CultureInfo.InvariantCulture);

作为参考,您可以找到Custom Date and Time Format Strings

的明细

答案 1 :(得分:1)

您需要指定日期的格式。

如果您想要当前时间,可以尝试这样:

string dtime = DateTime.Now.ToString("yyyy/MM/dd");

答案 2 :(得分:0)

这是我为你提出的解决方案:

string format = "M/d/yyyy hh:mm:ss tt";
string dateString = "2/28/2017 12:02:04 AM";
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime date = DateTime.ParseExact(dateString, format, provider);
string output = date.ToString("yyyyMMdd");

答案 3 :(得分:0)

如果您使用的是C#6或更高版本(VS2015),则可以使用自定义格式字符串使用字符串插值轻松格式化DateTime对象。您要查找的自定义格式字符串为"yyyyMMdd"

// create your preferred date and time in a new DateTime struct
DateTime yourDateTime = new DateTime(2017, 2, 28, 0, 2, 4);

// format yourDateTime as a string
string yourFormattedDateTime = $"{yourDateTime:yyyyMMdd}";

您可以在https://msdn.microsoft.com/en-us/library/dn961160.aspx阅读有关内插字符串的更多信息,并且如前所述@Adam Carr,您可以在https://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx找到有关自定义日期和时间格式字符串的更多信息