gpt4 book ai didi

java - "HH:MM:SS"中的秒数

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:04:33 24 4
gpt4 key购买 nike

获取字符串表示形式(如“hh:mm:ss”)中的秒数的最佳方法是什么?

显然 Integer.parseInt(s.substring(...)) * 3600 + Integer.parseInt(s.substring(...)) * 60 + Integer.parseInt(s.substring(...)) 有效.

但我不想测试它,并重新发明风团,我希望有一种方法可以使用 DateTimeFormat 或标准库中的其他类。

谢谢!

最佳答案

基于 pakores solution :

    DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
Date reference = dateFormat.parse("00:00:00");
Date date = dateFormat.parse(string);
long seconds = (date.getTime() - reference.getTime()) / 1000L;

reference 用于补偿不同的时区,夏令时没有问题,因为 SimpleDateFormat 不使用实际日期,它返回 Epoc 日期(1970 年 1 月 1 日 = 无 DST) .

简化(不多):

    DateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = dateFormat.parse("01:00:10");
long seconds = date.getTime() / 1000L;

但我还是会看看 Joda-Time...

关于java - "HH:MM:SS"中的秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3206473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com