计算两个日期之间相差几天(Date类型与String类型互相转换)
Posted 格物致知
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算两个日期之间相差几天(Date类型与String类型互相转换)相关的知识,希望对你有一定的参考价值。
一:计算两个日期之间相差几天
1 /** 2 * 3 */ 4 package com.hlcui.date; 5 6 import java.text.ParseException; 7 import java.text.SimpleDateFormat; 8 import java.util.Calendar; 9 import java.util.Date; 10 11 import org.junit.Test; 12 13 /** 14 * @author Administrator 15 * 16 */ 17 public class DateTest { 18 19 @Test 20 public void testBetweenDays() throws ParseException { 21 int days = betweenDays("20160102", "20160303"); 22 System.out.println(days); 23 } 24 25 /** 26 * 计算两个日期相差的天数 27 * 28 * @throws ParseException 29 */ 30 public int betweenDays(String oldDate, String newDate) 31 throws ParseException { 32 Calendar cal = Calendar.getInstance(); 33 cal.setTime(stringToDate(oldDate)); 34 long oldTime = cal.getTimeInMillis(); 35 cal.setTime(stringToDate(newDate)); 36 long newTime = cal.getTimeInMillis(); 37 return (int) ((newTime - oldTime) / (1000 * 24 * 3600)); 38 } 39 40 /** 41 * String转换为Date 42 * 43 * @throws ParseException 44 */ 45 public Date stringToDate(String date) throws ParseException { 46 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); 47 return sdf.parse(date); 48 } 49 50 /** 51 * Date转换为String 52 */ 53 public String dateToString(Date date) { 54 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); 55 return sdf.format(date); 56 } 57 }
1:SimpleDateFormat类是一个格式化类,可以实现String类和Date之间的转换。
Format(Date):Date转为String类型,Parse(String):String类型转为Date类型。
2:Calendar.getInstance():可以通过Calendar的静态方法getInstance()获取Calendar对象。
3:Calendar.setTime(Date):设置日期 Calendar.getTime():获取1970年1月1日至今的毫秒数
以上是关于计算两个日期之间相差几天(Date类型与String类型互相转换)的主要内容,如果未能解决你的问题,请参考以下文章