Date日期比较
1.获取日期:
Date date = new Date();
getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
2.比较日期:
- before(),返回值为Boolean
- after(),返回值为Boolean
- equals(),返回值为Boolean
- compareTo() :date1.compareTo(Date2),返回int,date1早于date2,返回值小于0,相等返回0,晚于返回值大于0
SimpleDateFormat
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。例如:
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDateFormatTest {
public static void main(String[] args) throws Exception{
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
String str = "2019-03-13 13:54:00";
Date date1 = simpleDateFormat.parse(str);
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("Y年M月D日 h时m分s秒");
String s1 = simpleDateFormat.format(date);
String s2 = simpleDateFormat1.format(date);
System.out.println("当前时间为:"+s1);
System.out.println("当前时间为:"+s2);
System.out.println("字符串转时间戳:"+date1);
}
}
输出;
当前时间为:2020-04-23 03:44:00
当前时间为:2020年4月114日 3时44分0秒
字符串转时间戳:Sun Dec 30 13:54:00 CST 2018
Calendar类
获取当前日期:
Calendar rightNow = Calendar.getInstance();
获取年月日时分秒
import java.util.Calendar;
public class CalendarTest {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
int year = cal.get(Calendar.YEAR);//年
int month = cal.get(Calendar.MONTH)+1;//月
int day = cal.get(Calendar.DATE);//日
int hour = cal.get(Calendar.HOUR_OF_DAY);//时
int minute = cal.get(Calendar.MINUTE);//分
int second = cal.get(Calendar.SECOND);//秒
int weekDay = cal.get(Calendar.DAY_OF_WEEK);//获得星期几(注意(这个与Date类是不同的):1代表星期日、2代表星期1、3代表星期二,以此类推)
int actualWeekDay = 0;
if (weekDay == 1){
weekDay = 7;
}else {
actualWeekDay = weekDay - 1;
}
System.out.println(year+"年"+month+"月"+day+"日"+hour+"时"+minute+"分"+second+"秒");
System.out.println("今天是星期"+actualWeekDay);
}
}
输出:
2020年4月23日15时37分31秒
今天是星期4