在Java中使用Duration对象失败,将天,分钟,小时到秒转换为

问题描述 投票:0回答:1

测验持续时间分别指定为天,小时和分钟,以整数表示。

我正在尝试将这些组合转换为秒。下面的代码我试过了。但它总是返回0秒。我正在使用jdk 6

Integer hours = 3, days=4, minutes=20;
javax.xml.datatype.Duration duration = DatatypeFactory.newInstance().newDuration(true, 0, 0, 
                    days, 
                    hours, 
                    minutes, 
                    0);  
Integer seconds = duration.getSeconds(); // It always returns zero

请指导。

java date duration jdk6
1个回答
0
投票

JavaDocs for javax.xml.datatype.Duration.getSeconds()

获得SECONDS字段的值作为整数值;如果不存在,则为0。该方法与getYears()一样,除了该方法在SECONDS字段上有效。

如果要计算此持续时间所代表的总秒数,则必须自己计算,可能是这样(可能有更好的解决方案:]

javax.xml.datatype.Duration.getSeconds()

在某些情况下,private static int getInSeconds(javax.xml.datatype.Duration duration) { int totalSeconds = 0; totalSeconds += duration.getSeconds(); totalSeconds += (duration.getMinutes() * 60); totalSeconds += (duration.getHours() * 60 * 60); totalSeconds += (duration.getDays() * 24 * 60 * 60); // ... calculate values for other fields here, too return totalSeconds; } 不够用,请记住这一点。

© www.soinside.com 2019 - 2024. All rights reserved.