Java时间类操作

Java时间类操作

一、Date()基本使用

1. 获取毫秒数

    Date date=new Date();
    System.out.println(date.getTime());
    输出:
    1596420008933

2. Date()时间比较

date类型的比较,前者.compareTo(后者)。前者晚于后者,则返回1;相等返回0;早于后者,返回-1.

        Date date1=new Date();
        for(int i=0;i<100000;i++){
            int a=0;
        }
        Date date2=new Date();//date2晚
        System.out.println(date1.compareTo(date2));
        输出:
        -1
       

毫秒数比较,前者-后者与0相比即可

Long date1=new Date().getTime();
        for(int i=0;i<100000;i++){
            int a=0;
        }
        Long date2=new Date().getTime();
        boolean k=(date1-date2)>0;
        System.out.println(k);
		输出:
		Flase

3. Date()时间格式化

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    //格式化日期转Date
    Date lastTime = sdf.parse("2020-05-28 00:00:00");
    //Date时间格式化
    Date date=new Date();
    SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    System.out.println(dateFormat.format(date));
二、Java8新增的时间日期包
  • LocalDate类:代表当前时区的日期
  • LocalTime类:代表当前时区的时间
  • LocalDateTime:代表当前时区的日期时间

1. 获取当前时间

	LocalDateTime date=LocalDateTime.now();

2. 格式化LocalDateTime

    public static String TimeToString (String pattern){
        LocalDateTime date=LocalDateTime.now();
        String now=date.format(DateTimeFormatter.ofPattern(pattern));
        return now;
    }
     public static void main(String[] args) {
        String now=TimeToString("yyyy-MM-dd HH:mm:ss");
        System.out.println(now);
    }

3. 格式化时间转LocalDateTime

     public static LocalDateTime StringToTime (String time){
        LocalDateTime date=LocalDateTime.parse(time,
        DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        return date;
    }
     public static void main(String[] args) {
        LocalDateTime dateTime=StringToTime("2020-12-21 23:59:59");
        System.out.println(dateTime);
    }

4. Date转LocalDateTime

    public static LocalDateTime DateToTime (){
        Date date =new Date();
        Instant instant=date.toInstant();
        ZoneId zoneId=ZoneId.systemDefault();
        LocalDateTime time=instant.atZone(zoneId).toLocalDateTime()
        return time;
    }

5. LocalDateTime转Date

    public static Date TimeToDate (){
        LocalDateTime localDateTime=LocalDateTime.now();
        ZoneId zoneId=ZoneId.systemDefault();
        ZonedDateTime zdt=localDateTime.atZone(zoneId);
        return Date.from(zdt.toInstant());
    }
    }

6. 计算获得LocalDateTIme的毫秒数

	public static Long CountMills(){
        LocalDateTime localDateTime=LocalDateTime.now();
        return localDateTime.toInstant(ZoneOffset.of("+8")).toEpochMilli();

    }

7. 获得LocalDateTIme的具体时间

	//getDayOfYear 获得一年里今天是第几天
    //getMonth 返回Month类型
    public static String GetDetailedTime(){
        LocalDateTime lt =LocalDateTime.now();
        return lt.getYear()+"年"+lt.getMonthValue()+"月"+lt.getDayOfMonth()+"日"
        +lt.getHour()+"时"+lt.getMinute()+"分"+lt.getSecond()+"秒";
    }

8. 快速自定义LocalDateTime时间

	
    public static String GetDetailedTime(){
        LocalDateTime lt =LocalDateTime.of(2020,2,5,12,59,59);
      
    }

9. 获得指定时间的前几天或者后几天

plus??小时,天 ,月份等都可。

  	public static String GetPreviousDay(){
        LocalDateTime lt =LocalDateTime.of(2020,3,1,20,23,59);
        return TimeToString(lt.plusDays(1),"yyyy-MM-dd HH:mm:ss");
    }

10. 比较LocalDateTime

转化成毫秒数比较即可

通过isAfter,isBefore,isequal比较

 public static boolean CompareDate(){
        LocalDateTime before =LocalDateTime.of(2020,3,1,20,23,59);
        LocalDateTime after =LocalDateTime.of(2020,4,1,20,23,59);
        return before.isAfter(after);
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值