如何将日期转换为小时和分钟?这样的方式:
Date d=new Date();
String str=convertToMyFormat(d);
print(str);
// for example for date Sat Jan 03 04:40:00 GMT+03:30 1970 print should be some
//thing like this:
>> str ="50:10";
如果通过此代码创建日期:
Period p = new Period(0l);
p = p.plusDays(2);
p = p.plusMinutes(70);
d=new Date(p.toStandardDuration().getMillis());
这个解决方案
public String convertToMyFormat(Date d){
Duration du=new Duration(d.getTime())
str=du.toStandardHours().getHours() + ":"+ du.getMinutes();
return str;
}
打印分钟大于60。“ 49:70”
我需要的方式是,如果分钟数大于60,则增加小时数。任何将java.util.date或long转换为这种格式的解决方案都是可以接受的。如果持续时间大于24小时,则应增加小时数而不是增加天数
假设您需要使用Jodatime来显示当月的小时数和分钟数:
public static String convert (DateTime input) {
int hours = (input.getDayOfMonth() - 1) * 24 + input.getHourOfDay();
return String.format("%d:%02d",hours,input.getMinuteOfHour());
}
public static void main(String[] args) {
System.out.println(convert(new DateTime("2014-01-01T22:09")) );
System.out.println(convert(new DateTime("2014-01-03T22:21")) );
System.out.println(convert(new DateTime("2014-01-31T22:44")) );
}
输出
22:09
70:21
742:44
编辑:本年内抵消的相同原则:
public static String convertOffsetInYear (DateTime input) {
int hours = (input.getDayOfYear() - 1) * 24 + input.getHourOfDay();
return String.format("%d:%02d",hours,input.getMinuteOfHour());
}
如果您需要更多的非常规参考时间(即需要计算以小时为单位的距离的那一刻),则可以签出Duration和PeriodFormatterBuilder。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句