java怎样判断下面的日期的先后

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎样判断下面的日期的先后相关的知识,希望对你有一定的参考价值。

2013-6-18 上午
2013-6-18 下午

Java判段两个日期的先后,方法如下:

import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;



public class TestD 
public static void main(String[] args)

String date1="2017-07-19 13:02:58";

String date2="2017-07-19 14:02:58";
//将字符串格式的日期格式化
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
try 
//将日期转成Date对象作比较
Date fomatDate1=sdf.parse(date1);
Date fomatDate2=sdf.parse(date2);
//比较两个日期
int result=fomatDate2.compareTo(fomatDate1);
//如果日期相等返回0
if(result==0)
System.out.println("两个时间相等");
else if(result<0)
//小于0,参数date1就是在date2之后
System.out.println("date1大于date2");
else
//大于0,参数date1就是在date2之前
System.out.println("date1小于date2");


 catch (ParseException e) 

e.printStackTrace();



结果:
date1小于date2

参考技术A 如果是date 类型 用 date.getTime() 返回long 相加减。
或者用compareTo。
参考技术B 两个时间确定好格式之后
date1.getTime()<date2.getTime();
true 说明date1时间早
false 说明date2时间早
参考技术C 方法很多。比如笨点的。
根据空格分隔字符串分成2013-6-18和上午两部分。首先判断第一部分2013-6-18的大小。如果相等了判断是上午还是下午。
参考技术D 获取时间的毫秒数然后比较大小,大的在后面小的在前面

java怎样得到两个时间段的月份?

参考技术A import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test
public static void main(String[] args)
Calendar c_begin = new GregorianCalendar();
Calendar c_end = new GregorianCalendar();
c_begin.set(2012, 5, 30);
c_end.set(2012, 11, 5);
while (c_begin.before(c_end))
int m = c_begin.get(Calendar.MONTH) + 1;
System.out.println(m);
c_begin.add(Calendar.MONTH, 1);


本回答被提问者采纳
参考技术B import java.util.Calendar;
import java.util.GregorianCalendar;
public class Test
public static void main(String[] args)
Calendar c_begin = new GregorianCalendar();
Calendar c_end = new GregorianCalendar();
c_begin.set(2012, 5, 30);
c_end.set(2012, 11, 5);
while (c_begin.before(c_end))
int m = c_begin.get(Calendar.MONTH) + 1;
System.out.println(m);
c_begin.add(Calendar.MONTH, 1);


参考技术C 是两个时间点间的有几个月?!
jdk8:ChronoUnit.MONTHS.between(Temporal temporal1Inclusive,
Temporal temporal2Exclusive)

jdk8之前使用joda-time的Months类
参考技术D 问题描述太简单了,没看懂什么意思追问

就是 2012年 6月 30 日 和2012年12月5日 分别取得这两个时间的月 怎么取

以上是关于java怎样判断下面的日期的先后的主要内容,如果未能解决你的问题,请参考以下文章

怎样在C#中判断从界面选择的日期是在当前日期之前

JAVA 怎么判断一个字符串是否一个合法的日期格式??

java Html&JavaScript面试题:判断第二个日期比第一个日期大

怎样按日期排序LIST集合

java怎样通过日期获取星期几?

java知道当前时间,怎样知道星期几???