zoukankan      html  css  js  c++  java
  • Calendar的用法以及建议禁止用calendar 不建议用date 推荐用LocalDate、LocalTime、LocalDateTime【java8新提供的类】

    1、通常使用Calendar,首先需要 Calendar calendar = Calendar.getInstance();

    Calendar calendar = Calendar.getInstance();

    指定时间:

    calendar.setTime(date);//date为日期类型
    //calendar.setTime(new Date());是指定日期为今
     int year = calendar.get(Calendar.YEAR);//获取年
     int month = calendar.get(Calendar.MONTH) + 1;//获取月,默认1月为0
     int day = calendar.get(Calendar.DATE);//获取当前日期的日
     int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//获取月份最大的天数,使用这获取最后一天时,最好在Calendar calendar = Calendar.getInstance();加上calendar.clear();清楚系统时间,避免影响,要不然获取2月份最后一天可能有问题

    更多用法请查看源码,

    或者参考链接https://blog.csdn.net/tiantangdizhibuxiang/article/details/77429346
    https://blog.csdn.net/qq_23332015/article/details/89555438

    2、Java 8之后除了向前兼容外 Calendar沒有存在的意义了

    Date用于记录某一个含日期的、精确到毫秒的时间。重点在代表一刹那的时间本身。
    Calendar用于将某一日期放到历法中的互动——时间和年、月、日、星期、上午、下午、夏令时等这些历法规定互相作用关系和互动。Calendar本身代表公历的一个简化缩水版,姑且叫“计算机历”。

    完整的公历是格里高利历,Java SE中以GregorianCalendar类来提供相关的历法功能。

    参考链接https://juejin.im/post/6844903939402383368  

     LocalDateTime转Date,以及设置上个月最后一天的最后一秒

    LocalDateTime min = LocalDateTime.of(year, month - 1, 1, 23, 59, 59);
    LocalDateTime with = min.with(TemporalAdjusters.lastDayOfMonth());//设置成上个月最后一天
    java.util.Date minTime = Date.from(with.atZone(ZoneId.systemDefault()).toInstant());//转Date

     Date转LocalDateTime参考链接https://www.cnblogs.com/xww115/p/11413668.html

    LocalDate转Date

    LocalDate localDate = LocalDate.of(year, month, 1);
    java.util.Date date = Date.from(localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant());

     LocalDate和Date互转参考链接https://www.cnblogs.com/liusk/p/9882217.html

    Date转LocalDate:

     LocalDate localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
     int year = localDate.getYear();
     int month = localDate.getMonthValue();

    时间戳转Date

    new Date(时间戳)
  • 相关阅读:
    Neo4j学习案例【转】
    Genymotion安装总结
    软件工程实践总结
    Markdown中的缩进
    Beta Daily Scrum 第七天
    随堂软工团队小测
    PMD(Put Me Down)用例测试
    第三次作业——个人作业——软件产品案例分析
    用例图
    毕设导师智能匹配
  • 原文地址:https://www.cnblogs.com/pzw23/p/13497023.html
Copyright © 2011-2022 走看看