【问题标题】:Error in DateTime.ParseExactDateTime.ParseExact 中的错误
【发布时间】:2015-08-26 02:45:14
【问题描述】:

我想重新排列我的 DateTime 的格式并将其保存在 DateTime 数据类型中。

代码:

string _date = 2015-08-26 08:00;
DateTime y = Convert.ToDateTime(_date); //Output: 8/26/2015 8:00:00 AM
DateTime selectedDate1 = DateTime.ParseExact(_date, "yyyy-mm-dd HH:mm:ss", CultureInfo.InvariantCulture);

预期输出2015-08-26 09:00:00 yyyy-mm-dd HH:mm:ss

我试过了:

DateTime selectedDate1 = DateTime.ParseExact(_date, "yyyy-mm-dd HH:mm:ss", CultureInfo.InvariantCulture);

错误:附加信息:DateTime 模式“m”以不同的值出现多次。

【问题讨论】:

    标签: c# date datetime


    【解决方案1】:

    对于月份,使用 MM 并且您的日期没有秒数,因此还需要删除 ss

    试试这个

    string _date = 2015-08-26 08:00;
    DateTime selectedDate1 = DateTime.ParseExact(_date, "yyyy-MM-dd HH:mm", CultureInfo.InvariantCulture);
    
    /*
        dd -> two digit day
        MM -> two digit month
        yyyy -> four digit year
        hh -> two digit hour (AM/PM) and HH for 00-24
        mm -> two digit minute
        ss -> two digit seconds
    */
    

    【讨论】:

    • 结果:8/26/2015 8:00:00 AM没有错误,但不是我的预期输出
    • @MeSoftware 你需要日期时间再次转换成字符串格式吗?
    • @MeSoftware selectedDate1 属于 DateTime 类型,它会根据您在 PC 日历设置中选择的文化显示日期时间
    • @MeSoftware 使用selectedDate1.ToString("yyyy-MM-dd HH:mm:ss") 获取字符串格式的日期。
    • 我将它保存到数据库 {DateTime Format must be yyyy-mm-dd HH:mm:ss}。如果我尝试使用 toString();它将被转换为字符串数据类型,我需要一个 DateTime 数据类型。
    【解决方案2】:

    试试这个:yyyy-MM-dd HH:mm:ssMM 的月份和 mm 的分钟之间的差异。

    【讨论】:

    • 错误:附加信息:字符串未被识别为有效的日期时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多