认真阅读完这篇文章熟练掌握Java1.8 日期的常见方法

举报
桃花键神 发表于 2022/04/17 12:43:38 2022/04/17
【摘要】 认真阅读完这篇文章熟练掌握Java1.8 日期的常见方法

在Java8以前,Date日期API对我们非常的不友好,它无法表示日期,只能以毫秒的精度来表示时间,并且可以修改,他的线程还不是安全的。所以Java8中引入了全新的日期和时间API就是为了解决这一问题。

创建日期的三种方法

LocalTime 本地时间
LocalDate 本地日期
LocalDateTime 本地时间和日期

举例分析:LocalTime 本地时间
获取当前时间

package DATA;

import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

/**
 * @author yeqv
 * @program A2
 * @Classname D3
 * @Date 2022/2/10 11:31
 * @Email w16638771062@163.com
 */
public class D3 {

    public static void main(String[] args) {
        //获取当前时间
        LocalTime localTime = LocalTime.now();
        System.out.println(localTime);
        //格式化输出当前时间
        var dt = DateTimeFormatter.ofPattern("HH:mm:ss");
        var a = dt.format(localTime);
        System.out.println(a);
        //分别获取时分秒
        var b = localTime.getHour();
        var c = localTime.getMinute();
        var d = localTime.getSecond();
        System.out.println(b + "时" + c + "分" + d + "秒");
    }
}

运行结果:
在这里插入图片描述

案例二:LocalDate 本地时间

package DATA;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

/**
 * @author yeqv
 * @program A2
 * @Classname D4
 * @Date 2022/2/10 11:54
 * @Email w16638771062@163.com
 */
public class D4 {
    public static void main(String[] args) {
        //获取当前日期
        LocalDate localDate = LocalDate.now();
        var a = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
        System.out.println(a.format(localDate));
        //分别获取年月日
        var b = localDate.getYear();
        var c = localDate.getDayOfMonth();
        var d = localDate.getMonthValue();
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
    }
}

运行结果:
在这里插入图片描述

案例三:LocalDateTime 本地时间和日期

package DATA;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * @author yeqv
 * @program A2
 * @Classname D5
 * @Date 2022/2/10 14:12
 * @Email w16638771062@163.com
 */
public class D5 {
    public static void main(String[] args) {
        //获取当前时间和日期
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime);
        //格式化输出当前时间和日期
        var dt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        var a = dt.format(localDateTime);
        System.out.println(a);
        //分别获取时分秒和年月日
        var b = localDateTime.getHour();
        var c = localDateTime.getMinute();
        var d = localDateTime.getSecond();
        System.out.println(b + "时" + c + "分" + d + "秒");
        var E = localDateTime.getYear();
        var F = localDateTime.getDayOfMonth();
        var G = localDateTime.getMonthValue();
        System.out.println(E + "年" + F + "月" + G + "日");
    }
}

运行结果:
在这里插入图片描述

Timezones 设置时区

package DATA;

import java.time.DayOfWeek;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;

/**
 * @author yeqv
 * @program A2
 * @Classname D2
 * @Date 2022/2/10 11:08
 * @Email w16638771062@163.com
 */
public class D2 {
    public static void main(String[] args) {
        //美国纽约时间
        ZoneId zid = ZoneId.of("America/New_York");
        LocalDateTime id = LocalDateTime.now(zid);
        var dt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(id.format(dt));
        System.out.println(id.toLocalDate());
        System.out.println(id.toLocalTime());
    }
}

运行结果:
在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。