将DateTime转换为指定的格式

时间:2012-02-21 03:18:13

标签: c# .net vb.net datetime-format

我的日期格式为yy/MM/dd HH:mm:ss例如:12/02/21 10:56:09。问题是,当我尝试使用此代码将其转换为不同的格式时:

CDate("12/02/21 10:56:09").ToString("MMM. dd, yyyy HH:mm:ss")

显示Dec. 12, 2021 10:56:09

如何将其正确格式化为:Feb. 21, 2012 10:56:09?当我检查基于SMS的应用程序的余额查询时,将返回此格式。

5 个答案:

答案 0 :(得分:35)

使用DateTime.ParseExact,例如:

DateTime.ParseExact("12/02/21 10:56:09", "yy/MM/dd HH:mm:ss", 
    CultureInfo.InvariantCulture
    ).ToString("MMM. dd, yyyy HH:mm:ss")

答案 1 :(得分:7)

更简单的转换日期方式:

Convert.ToDateTime("12/02/21 10:56:09").ToString("MMM.dd,yyyy HH:mm:ss");

答案 2 :(得分:4)

var dateTime = DateTime.ParseExact("12/02/21 10:56:09", "yy/MM/dd HH:mm:ss", CultureInfo.InvariantCulture);

var text = dateTime.ToString("MMM. dd, yyyy HH:mm:ss");

答案 3 :(得分:2)

假设你想要问如何让VB将日期解析为yy / MM / dd,答案很简单:只需使用DateTime.ParseExact("12/02/12 10:56:09", "yy/MM/dd HH:mm:ss"),然后像以前一样使用ToString()

答案 4 :(得分:2)

试试这个:

DateTime.ParseExact("12/02/21 10:56:09", "yy/MM/dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture).ToString("MMM. dd, yyyy HH:mm:ss");