本文主要是介绍TimeUnit用法,Date,MessageFormat 联合使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
TimeUnit 一般使用方法:
常用的颗粒度
1 2 3 4 5 | TimeUnit.DAYS //天 TimeUnit.HOURS //小时 TimeUnit.MINUTES //分钟 TimeUnit.SECONDS //秒 TimeUnit.MILLISECONDS //毫秒 |
1、时间颗粒度转换
1 2 3 4 5 | public long toMillis( long d) //转化成毫秒 public long toSeconds( long d) //转化成秒 public long toMinutes( long d) //转化成分钟 public long toHours( long d) //转化成小时 public long toDays( long d) //转化天 |
例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | import java.util.concurrent.TimeUnit; public class Test { public static void main(String[] args) { //1天有24个小时 1代表1天:将1天转化为小时 System.out.println( TimeUnit.DAYS.toHours( 1 ) ); //结果: 24 //1小时有3600秒 System.out.println( TimeUnit.HOURS.toSeconds( 1 )); //结果3600 //把3天转化成小时 System.out.println( TimeUnit.HOURS.convert( 3 , TimeUnit.DAYS ) ); //结果是:72 } } |
假设前端有开始时间startDate,结束时间endDate 都使用字符串来存储
/**
日期工具类
*/
public class DateUtil{
private static final String YYYYMMDDHHMMSS="yyyy-MM-dd HH:mm:ss";
public static Date parse(String dateStr,String pattern){
return df.parse(dateStr);SimpleDateFormat df = new SimpleDateFormat(pattern);
}
}
public class Test{
private static final String useDescRegex="{0,date,yyyy.MM.dd}-{1,date,yyyy.MM.dd}";
String startDateStr=request.getParameter("startDateStr"); String endDateStr=request.getParameter("endDateStr");
Date startDate=DateUtil.parse(startDateStr,DateUtil.YYYYMMDDHHMMSS);
Date endDate=DateUtil.parse(endDateStr,DateUtil.YYYYMMDDHHMMSS);
如何计算开始时间和结束时间相隔几天
long diff=TimeUnit.MILLISECONDS.toDays(endDate.getTime()-startDate.getTime());
如何计算开始时间和结束时间相隔 几个小时
long diff=TimeUnit.MILLISECONDS.toHours(endDate.getTime()-startDate.getTime());
//对日期格式话String showDesc=MessageFormat.format(useDescRegex,startDate,endDate);}
这篇关于TimeUnit用法,Date,MessageFormat 联合使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!