代码之家  ›  专栏  ›  技术社区  ›  MickeyfAgain_BeforeExitOfSO

winforms.net日期选取器不遵循24小时格式?

  •  4
  • MickeyfAgain_BeforeExitOfSO  · 技术社区  · 16 年前

    我有一个时间选择器(DateTimePicker),格式为hh:mm-24小时时钟。它显示为00到24和00到59,不允许输入无效值。这正是我想要的。

    但是,它返回值为12小时,带有AM和PM指示器。这意味着当用户输入“00”时,返回为“12”,返回为“2:00”。这不是我想要的。

    我可以测试并转换这些不需要的返回值,但肯定(?)有一种更优雅的方式说服这件事给我我想要的价值观,而不是检查这些特殊的条件?我可能忽略了一些简单的属性?

    2 回复  |  直到 16 年前
        1
  •  4
  •   Reed Copsey    16 年前

    当您读取该值时,需要使用:

    string value = dateTimePicker.Value.ToString("HH:mm");
    

    如果你只是使用 Value.ToString() ,您将获得默认(12小时)字符串格式。

        2
  •  4
  •   adrianbanks    16 年前

    如何从控件中获取输入的时间值?

    如果你有 DateTimePicker 控制并设置其 Format 属性到 Custom 及其 CustomFormat 属性到 HH:mm ,您将获得24小时格式时间(作为 DateTime 类型)当您阅读 Value 财产。

    编辑: 如果您正在使用 ToString() 值(如您在上面的注释中所说),这将使用您当前的本地化设置。你最好从 日期时间 (I. DateTime.Hour DateTime.Minute )

    推荐文章