c#中的字符串到日期转换为yyyy / mm / dd

时间:2014-11-20 10:23:36

标签: c# string datetime

我想将字符串内容转换为日期格式为yyyy/MM/dd HH:mm:ss tt

string date = "2014-11-20 3:21:00 PM";
DateTime date_=System.DateTime.Now;

var result = DateTime.TryParseExact(date, "yyyy-MM-dd HH:mm:ss tt", 
                                    System.Globalization.CultureInfo.InvariantCulture, 
                                    System.Globalization.DateTimeStyles.None,
                                    out date_);

但它返回的结果与要求不匹配TryParse函数返回false。如果未定义时区,则会返回预期结果。

2 个答案:

答案 0 :(得分:5)

HH specifier适用于 24小时制0023

您需要在 12小时制中使用h specifier代替112

此外,您无需初始化out parameter值。定义就足够了;

string date = "2014-11-20 3:21:00 PM";
DateTime date_;

var result = DateTime.TryParseExact(date, "yyyy-MM-dd h:mm:ss tt",
                                    CultureInfo.InvariantCulture, 
                                    DateTimeStyles.None, out date_);

答案 1 :(得分:-1)

DateTime数据类型格式始终为MM / dd / yyyy hh:mm:ss tt(即Date = {11/20/2014 12:00:00 AM}), 如果要显示该值,可以使用ToString扩展方法

更改格式