• 【Day25】常用类(日期时间设置)


    目录

    1、时间类

    2、jdk8中设置时间

    3、JDK1.8之前日期时间测试


    1、时间类

    /*Instant:瞬时,得到毫秒数

    DateTimeFormatter:格式化或解析日期、时间 类似于SimpleDateFormat

    */

    1. public class InstantTest {
    2. @Test
    3. public void test(){
    4. //now():获取本初子午线
    5. Instant instant=Instant.now();
    6. System.out.println(instant);
    7. //添加时间偏移量
    8. OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8));
    9. System.out.println(offsetDateTime);
    10. //获取对应的毫秒数,从1970,0时,0分到现在
    11. long mi = instant.toEpochMilli();
    12. System.out.println(mi);
    13. //把毫秒数转化成date时间
    14. Instant instant1 = Instant.ofEpochMilli(1660653845274l);
    15. System.out.println(instant);
    16. }
    17. @Test
    18. public void test2(){
    19. // 方式一:预定义的标准格式ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME
    20. DateTimeFormatter isoLocalDate = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
    21. LocalDateTime localDateTime=LocalDateTime.now();
    22. String str1 = isoLocalDate.format(localDateTime);
    23. System.out.println(localDateTime);
    24. System.out.println(str1);//2022-08-16T20:57:18.185
    25. //解析:字符串--->日期
    26. TemporalAccessor parse = isoLocalDate.parse("2022-08-16T20:57:18.185");
    27. System.out.println(parse);
    28. // 方式二:本地化相关的格式。如:ofLocalizedDateTime(FormatStyle.LONG)
    29. // 方式三:自定义的格式。如:ofPattern(“yyyy-MM-dd hh:mm:ss”)
    30. }
    31. }

    2、jdk8中设置时间

    /*
            本地日期:LocalDate
            本地时间:LocalTime
            时间如期:LocalDateTime
            说明:
                1、LocalDateTime相较于另外两个使用的多一点
                2、类似于Calendar
             */

    1. public class JDK8DataTest {
    2. @Test
    3. public void test(){
    4. //偏移量,1.8之前
    5. Date data=new Date(2020,9,8);
    6. System.out.println(data);//Fri Oct 08 00:00:00 CST 3920
    7. }
    8. @Test
    9. public void test1(){
    10. //now()获取当前的时间,日期
    11. LocalDate localDate=LocalDate.now();
    12. LocalTime localTime=LocalTime.now();
    13. LocalDateTime localDateTime=LocalDateTime.now();
    14. System.out.println(localDate);
    15. System.out.println(localTime);
    16. System.out.println(localDateTime);
    17. //of():设置指定的年,月,日,时,分,秒,没有偏移量
    18. LocalDateTime localDateTime1=LocalDateTime.of(2020,10,20,23,45,12);
    19. System.out.println(localDateTime1);
    20. //getxxx():
    21. System.out.println(localDateTime.getDayOfMonth());
    22. System.out.println(localDateTime.getDayOfWeek());
    23. System.out.println(localDateTime.getDayOfYear());
    24. System.out.println(localDateTime.getMonth());
    25. //不可变性
    26. //withxxx():设置相关属性,原数据不变
    27. LocalDate localDate1=localDate.withDayOfMonth(22);
    28. System.out.println(localDate);
    29. System.out.println(localDate1);
    30. //plus加操作
    31. LocalDateTime localDateTime2=localDateTime.plusMinutes(3);
    32. System.out.println(localDateTime);
    33. System.out.println(localDateTime2);
    34. //minus减操作
    35. LocalDateTime localDateTime3=localDateTime.minusDays(10);
    36. System.out.println(localDateTime);
    37. System.out.println(localDateTime3);
    38. }
    39. }

    3、JDK1.8之前日期时间测试

    /**
     * JDK1.8之前日期时间的API测试
     * Calendar 日历类(抽象类)的使用
     * 获取月份时:一月是0
     * 获取星期:周日是1
     *
     */
    1. public class CalendarTest {
    2. @Test
    3. public void test(){
    4. //1、实例化
    5. //方式一:创建静态其子类(GregorianCalendar)的对象
    6. //方式二:调用其静态方法getInstance()
    7. Calendar calendar = new GregorianCalendar();
    8. System.out.println(calendar);
    9. //、常用方法
    10. //get()
    11. int days = calendar.get(Calendar.DAY_OF_MONTH);//月份
    12. System.out.println(days);
    13. System.out.println(calendar.get(Calendar.DAY_OF_WEEK));
    14. //set()
    15. //把当前对象的calendar本省改掉
    16. calendar.set(Calendar.DAY_OF_MONTH,22);
    17. days = calendar.get(Calendar.DAY_OF_MONTH);
    18. System.out.println(days);
    19. //add()
    20. //添加,减:添加负数
    21. calendar.add(Calendar.DAY_OF_MONTH,3);
    22. days = calendar.get(Calendar.DAY_OF_MONTH);
    23. System.out.println(days);
    24. //getTime()获取当前时间
    25. Date date = calendar.getTime();
    26. System.out.println(date);
    27. //setTime()设置当前时间
    28. Date date1=new Date();
    29. calendar.setTime(date1);//把当前calendar时间修改
    30. days = calendar.get(Calendar.DAY_OF_MONTH);
    31. System.out.println(days);
    32. }
    33. }

     

  • 相关阅读:
    Drive to APasS!使用明道云管理F1赛事
    收集产品需求的9个渠道
    Flutter的强制自我审查
    迭代器模式c++实现
    【云原生】Spring Cloud是什么?Spring Cloud版本介绍
    Ubuntu调整swap大小
    RK3568平台开发系列讲解(NPU篇)让 NPU 跑起来
    【OpenCV-Python】教程:4-3 Shi-Tomasi 角点检测
    怎么设置浏览器默认搜索引擎,设置默认搜索引擎的方法步骤
    【C++ Efficiency】使用运算符的复合形式取代其单独形式,效率更高
  • 原文地址:https://blog.csdn.net/fool_Java/article/details/126896935