c# - 将 12 小时时间格式转换为 24 小时整数?

标签 c# .net vb.net string parsing

在我的应用程序中,我有一个字符串下拉框,显示 12 小时制中可能的时间供用户选择。可能的值是:

9am
10am
11am
12pm
1pm
2pm
3pm
4pm
5pm

什么代码会将这些字符串之一转换为 24 小时整数?例如,10am 应转换为 104pm 应转换为 16

最佳答案

您可以使用 DateTime.Parse(...) 获取 DateTime 值,然后引用 .Hour 属性获取结果;

int h = DateTime.Parse("10am").Hour;   // == 10
int h2 = DateTime.Parse("10pm").Hour;  // == 22

DateTime.Parse 在允许的范围内相当自由,但显然在内部做了一些假设。例如,在上面的代码中,DateTime.Parse("10am") 返回当前时区中当前日期的上午 10 点(我认为...)。因此,请注意您使用 API 的环境。

关于c# - 将 12 小时时间格式转换为 24 小时整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17057160/

相关文章:

c# - 如何在 visual studio designer 中使类型为 collection<string> 的用户控件属性可编辑/可设置

c# - .NET 罗斯林 : runtime configuration

.net - EasyNetQ - EasyNetQ.Topology.Queue

c# - OpenXML/EPPlus - 在 .Net 中创建 PivotCache

java - 页面加载后才会显示正在加载的图像。

c# - 如何在继承中获取特定的基类?

c# - 如何使用 protobuf-net 序列化/反序列化锯齿状/嵌套数组?

c# - 定期托管服务是否需要保持事件状态?

.net - 异常处理中的选项与异常

c# - 如何从 java 中的文件绘制图形(线)?