如何从时间中提取小时部分

Posted

技术标签:

【中文标题】如何从时间中提取小时部分【英文标题】:How to Extract hours portion from time 【发布时间】:2022-01-06 14:50:37 【问题描述】:

我有字符串格式的时间“22:00:30”我想从中提取小时 22。我能得到一些帮助吗?我尝试搜索,但到处都使用了 DateTime,而在我的情况下,没有日期

谢谢大家的帮助...

现在我只想知道时间是否为“22.00.30”我应该如何从时间中提取小时数......上面的冒号适用于 LocalTime,但带有“点”的时间给了我例外。有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

将其解析为 java.time.LocalTime 对象。然后使用 getHour() 方法提取小时值。

LocalTime time = LocalTime.parse("22:00:30");
System.out.print(time.getHour()); //to get hour value

【讨论】:

【参考方案2】:

string.split(":") 将返回由: 字符分隔的每个子字符串的列表。试试这个:

s = "22:00:30"
hour = s.split(":")[0]

【讨论】:

虽然它有效,但恕我直言,我们显然应该更喜欢使用专门的时间库,在这种情况下,LocalTime 来自现代 Java 日期和时间 API java.time,如其他答案所示。 【参考方案3】:

使用 java.time 类,特别是 LocalTime

int hour = LocalTime.parse( "22:00:30" ).getHour() ;

【讨论】:

以上是关于如何从时间中提取小时部分的主要内容,如果未能解决你的问题,请参考以下文章

如何从 PDF 文件中提取突出显示的部分

如何从图像中提取所需的文本部分,而不是使用 OCR 提取图像中的所有文本?

如何从多部分/表单数据响应中提取数据?

使用 PHP 提取图像上的某些部分

如何从 SQL 中的列值中提取特定部分(Redshift 平台)

如何从 pytorch/tensorflow 中的图像中提取补丁成 4 个相等的部分?