【问题标题】:Cannot convert string from DateTimePicker control to int无法将字符串从 DateTimePicker 控件转换为 int
【发布时间】:2017-06-26 03:52:53
【问题描述】:

我尝试将字符串从 DateTimePicker 控件转换为 int 但是当我运行它时发生错误

字符串未被识别为有效的日期时间。

我正在使用 epoch 进行转换。 DateTimePicker 的格式为D/M/YYYY。这是我的代码

    public static double convertToEpoce(string date)
    {
        DateTime _datetime= DateTime.ParseExact(date, "D/M/YYYY HH:mm:ss", CultureInfo.CreateSpecificCulture("vi-VN")); ;

        var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
        return Convert.ToDouble((_datetime - epoch).TotalSeconds);
    }

【问题讨论】:

    标签: c# string int datetimepicker date-parsing


    【解决方案1】:

    您使用的格式说明符无效。在 C# 代码中应该是 d/M/yyyy HH:mm:ss。 (DateTimePicker 可能使用不同的说明符。)

    • "d" 月份中的第几天,从 1 到 31。

    • “M”月份,从 1 到 12。

    • "yyyy" 四位数的年份。

    没有“D”或“YYYY”格式说明符。

    完整列表见Custom Date and Time Format Strings

    有关工作示例,请参阅此C# Fiddle

    【讨论】:

      【解决方案2】:

      不需要解析DateTimePicker.Text的值。

      您可以使用DateTimePicker.Value,它将返回一个日期时间值。

      您得到的错误是因为格式说明符错误,就像@GeorgPatscheider 的回答中已经说明的那样。

      【讨论】:

        猜你喜欢
        • 2018-05-10
        • 2017-02-04
        • 1970-01-01
        • 2020-12-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-10
        • 1970-01-01
        相关资源
        最近更新 更多