日萌社
人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新)
判断两个日期时间/两个时间戳之间相隔多少天
也可用于获取从1970年以来到某个时间之间相隔多少天
//2019-05-18 00:00:00 时间戳 1558108800000
//2019-05-17 23:59:59 时间戳 1558108799000
LocalDate start = new LocalDate(1558108800000L);//2019-05-18 00:00:00
LocalDate end = new LocalDate(1558108799000L); //2019-05-17 23:59:59
/*
Days.daysBetween(start,end).getDays()
1.两个比较的时间都是同一天的话:
时间大(long值时间戳大) 或 时间小(long值时间戳小) 无论放在前面 还是放在后面,都返回 0
2.两个比较的时间都不是同一天的话:
Days.daysBetween(大,小).getDays():时间大(long值时间戳大)的在前面,时间小(long值时间戳小)的在后面,返回正数
Days.daysBetween(小,大).getDays():时间大(long值时间戳大)的在前面,时间小(long值时间戳小)的在后面,返回负数
*/
int days = Days.daysBetween(start,end).getDays();
System.out.println(days);
LocalDate start=new LocalDate(2013, 01,14); //年月日
LocalDate end=new LocalDate(2013, 01, 15);
/*
Days.daysBetween(start,end).getDays()
1.两个比较的时间都是同一天的话:
时间大(long值时间戳大) 或 时间小(long值时间戳小) 无论放在前面 还是放在后面,都返回 0
2.两个比较的时间都不是同一天的话:
Days.daysBetween(大,小).getDays():时间大(long值时间戳大)的在前面,时间小(long值时间戳小)的在后面,返回正数
Days.daysBetween(小,大).getDays():时间大(long值时间戳大)的在前面,时间小(long值时间戳小)的在后面,返回负数
*/
int days = Days.daysBetween(start,end).getDays();
System.out.println(days);
class Days
{
//计算间隔日,比较两个时间是否同一天,如果两个时间都是同一天的话,返回0。
// 两个比较的时间都不是同一天的话,根据传参位置 可返回正数/负数。两个比较的时间都是同一天的话,返回0。
private static int daysBetween(long day, long t)
{
org.joda.time.LocalDateTime start = new DateTime(day, DateTimeZone.UTC).toLocalDateTime();
org.joda.time.LocalDateTime end = new DateTime(t).toLocalDateTime();
int days = Days.daysBetween(start, end).getDays();
//获取两个时间之间的间隔天数
if (start.isAfter(end))
{
return days -1;
}
return days ;
}
}