有人可以告诉我如何将此日期时间格式转换为yyyyMMdd
2/28/2017 12:02:04 AM
在输出中我应该得到20170228
对此有何建议?
答案 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找到有关自定义日期和时间格式字符串的更多信息