Java获取时间操作时间
Date
public static void main(String[] args) throws InterruptedException {
java.util.Date date = new java.util.Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(date));
TimeUnit.SECONDS.sleep(1);//秒
java.util.Date date2 = new java.util.Date();
if (date2.getTime()>date.getTime()){
System.out.println("date2在date后面");
}else {
System.out.println("date2在date前面");
}
}
SystemTime
public static final Integer ONE_MIN = 60000 ;
public static final Integer ONE_HOUR = 3600000 ;
public static final Integer ONE_DAY = 86400000 ;
public static void main(String[] args) {
long time = System.currentTimeMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("当前时间: "+sdf.format(time));
System.out.println("加1分钟: "+sdf.format(time+ONE_MIN));
System.out.println("减去1天: "+sdf.format(time-ONE_DAY));
System.out.println("当前时间: "+sdf.format(new Date(System.currentTimeMillis())));
System.out.println("毫秒:" + System.currentTimeMillis());
System.out.println(" 秒 :" + System.currentTimeMillis() / 1000);
System.out.println(" 分 :" + System.currentTimeMillis() / 1000 / 60);
System.out.println(" 时 :" + System.currentTimeMillis() / 1000 / 60 / 60);
System.out.println(" 天 :" + System.currentTimeMillis() / 1000 / 60 / 60 / 24);
}
LocalDateTime
LocalDate localDate = LocalDate.now() ;
LocalTime localTime = LocalTime.now() ;
java.time.LocalDateTime localDateTime = java.time.LocalDateTime.now();
System.out.println("当前日期 "+localDate);
System.out.println("当前时间 "+localTime);
System.out.println("日期时间 "+localDateTime);
System.out.println("\t"+"自定义时间 "+java.time.LocalDateTime.of(2022, 7, 25, 8, 0, 0));
System.out.println();
System.out.println("(plus*)方法操作时间(加法) :");
System.out.println("\t"+"减三年时间 "+java.time.LocalDateTime.now().plusYears(-3));
System.out.println("\t"+"加一周时间 "+java.time.LocalDateTime.now().plusWeeks(1));
System.out.println("\t"+"减五个小时 "+java.time.LocalDateTime.now().plusHours(-5));
System.out.println("\t"+"加一周时间 "+LocalDate.now().plusWeeks(1));
System.out.println("\t"+"减两个小时 "+LocalTime.now().plusHours(-2));
System.out.println();
System.out.println("(minus*)方法操作时间(减法) :");
System.out.println("\t"+"两天前:" + java.time.LocalDateTime.now().minusDays(2));
System.out.println("\t"+"两周后:" + java.time.LocalDateTime.now().minusWeeks(-2));
System.out.println("\t"+"一月前:" + java.time.LocalDateTime.now().minusMonths(1));
System.out.println();
System.out.println("格式化时间格式 :");
System.out.println("\t"+"日期时间 "+localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss")));
System.out.println("\t"+"日期时间 "+localDateTime.format(DateTimeFormatter.ISO_LOCAL_DATE));
System.out.println("\t"+"日期时间 "+LocalDate.now()+" "+LocalTime.now());
Calendar
public static String getWeek(Integer pa){
HashMap<Integer, String> map = new HashMap<>();
map.put(1,"星期一");
map.put(2,"星期二");
map.put(3,"星期三");
map.put(4,"星期四");
map.put(5,"星期五");
map.put(6,"星期六");
map.put(0,"星期日");
return map.get(pa);
}
public static void main(String[] args) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss");
java.util.Calendar ca = java.util.Calendar.getInstance();
System.out.println("当前时间: "+sdf.format(ca.getTime()));
ca.add(java.util.Calendar.MINUTE, +1); //分钟
System.out.println("加1分钟: "+sdf.format(ca.getTime()));
ca.add(java.util.Calendar.HOUR, -1); //小时
System.out.println("减1小时: "+sdf.format(ca.getTime()));
ca.add(java.util.Calendar.DATE, +1);// 日期加1
System.out.println("增加1天: "+sdf.format(ca.getTime()));
/**
* 星期是从 日 一 二 三 四 五 六 排序的
* 对应的index是 0 1 2 3 4 5 6
* Calendar.DAY_OF_WEEK获得到的是 1 2 3 4 5 6 7
* 所以需要减1
*/
System.out.println();
System.out.println("获取当前星期:");
java.util.Calendar canow = java.util.Calendar.getInstance();
int index=canow.get(java.util.Calendar.DAY_OF_WEEK);
System.out.println("周几? "+(index-1));
System.out.println("周几? "+getWeek(index-1));
System.out.println(sdf.format(canow.getTime())+" "+getWeek(canow.get(java.util.Calendar.DAY_OF_WEEK)-1));
}