• Java8 时间处理


            Java8 日期处理有了新的API,基于ISO标准日历系统,并且java.time包下的所有类都是不可变类型而且线程安全。之前的java.util.Date是可变类型,其中SimpleDateFormat 也是线程不安全的类。

    推荐使用 Instant 代替 Date , LocalDateTime 代替 Calendar ,DateTimeFormatter 代替 SimpleDateFormat。

    日期类介绍

    类名称描述
    lnstant时间戳
    Duration持续时间
    LocalDate日期,如:2021-02-15
    LocalTime时间,如:18:12:18
    LocalDateTime日期和时间,如:2021-02-15 18:12:18
    Period时间段
    ZoneOffset时区偏移量,如:+8:00
    ZonedDateTime带时区的时间
    Clock时钟

    下面我们看下具体例子:

    1、获取当前日期(今天)

    注意:LocalDate.now() 只有日期,不包含时间。

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDate today = LocalDate.now();
    4. System.out.println("今天的日期:"+today);
    5. }
    6. }

    运行结果:

    今天的日期:2021-02-15

    2、获取当前时间

    注意:LocalTime.now() 只有时间,不含有日期。

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalTime time = LocalTime.now();
    4. System.out.println("当前时间:"+time);
    5. }
    6. }

    运行结果:

    当前时间:11:55:15.045

     3、获取当前的时间戳

    1. public class Test {
    2. public static void main(String[] args){
    3. Instant timestamp = Instant.now();
    4. System.out.println("当前时间戳: " + timestamp.toEpochMilli());
    5. }
    6. }

    4、获取年、月、日

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDate today = LocalDate.now();
    4. System.out.println("年:"+ today.getYear());
    5. System.out.println("月:"+ today.getMonthValue());
    6. System.out.println("日:"+ today.getDayOfMonth());
    7. }
    8. }

    5、自定义日期

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDate date = LocalDate.of(2018,8,6);
    4. System.out.println("自定义日期:"+date);
    5. }
    6. }

    运行结果:

    自定义日期:2018-08-06

     6、字符串和日期类型互转

    1. public class Test {
    2. public static void main(String[] args){
    3. LocalDateTime date = LocalDateTime.now();
    4. DateTimeFormatter format1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    5. String str = date.format(format1);
    6. System.out.println("日期转换为字符串:"+str);
    7. LocalDateTime date1 = LocalDateTime.parse(str,format1);
    8. System.out.println("字符串转换为日期:"+date1);
    9. }
    10. }

    运行结果:

    日期转换为字符串:2021-02-15 12:06:24
    字符串转换为日期:2021-02-15T12:06:24

    7、Clock时钟类

    1. public class Test {
    2. public static void main(String[] args){
    3. Clock defaultClock = Clock.systemDefaultZone();
    4. System.out.println("Clock 当前时间戳: " + defaultClock.millis());
    5. }
    6. }

  • 相关阅读:
    基于MFC——C++课程设计《学生信息管理系统》
    MFC知识点
    产品经理常用软件汇总
    亚商投资顾问 早餐FM/1122全国性商业银行信贷工作座谈会
    latex
    WebGPU-初识各名词概念Adapters与Device
    第一次笔记:计算机硬件的工作原理 主存储器 运算器 控制器 计算机的工作过程 计算机系统的层次结构 三种级别的语言
    C++ 实现读文件之 字节方式的
    数据可视化
    FFmpeg之转码
  • 原文地址:https://blog.csdn.net/icanlove/article/details/126281724