Java8:LocalDate LocalDateTime Date相互转化

Java8:LocalDate LocalDateTime Date相互转化概述时间日期处理是平时工作中使用非常频繁的逻辑,Java8中提供的新的时间类LocalDateTime和LocalDate,使日期处理可以更简单。友情提醒下,业务开发中最好默认使用LocalDateTime,因为LocalDateTime可以很方便的转换为LocalDate,但是LocalDate是不可以转为LocalDateTime的,会没有时分秒的数据!!!实例publicstaticvoidmain(String[]args){StringcurrentDate

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

概述

时间日期处理是平时工作中使用非常频繁的逻辑,Java8中提供的新的时间类LocalDateTime和LocalDate,使日期处理可以更简单。
友情提醒下,业务开发中最好默认使用LocalDateTime,因为LocalDateTime可以很方便的转换为LocalDate,但是LocalDate是不可以转为LocalDateTime的,会没有时分秒的数据!!!

实例

public static void main(String[] args) {
        String currentDate = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        // 结果:当前年月日时分秒:2020-12-07 09:01:09
        System.out.println("当前年月日时分秒:" + currentDate);

        /*
         * 在当前日期上加减,N年,N月,N天,N小时,N分钟,N秒...
         * 减:minusXXX
         * 加:plusXXX
         */
        LocalDate date = LocalDateTime.now().minusYears(1).toLocalDate();
        // 结果:去年今天日期:2019-12-07
        System.out.println("去年今天日期:" + date);

        date = LocalDateTime.now().plusYears(1).toLocalDate();
        // 结果:明年年今天日期:2021-12-07
        System.out.println("明年今天日期:" + date);

        date = LocalDateTime.now().minusMonths(1).toLocalDate();
        // 结果:今年上个月日期:2020-11-07
        System.out.println("今年上个月日期:" + date);

        date = LocalDateTime.now().minusDays(1).toLocalDate();
        // 结果:昨天日期:2020-12-06
        System.out.println("昨天日期:" + date);

        LocalDateTime localDateTime = LocalDateTime.now().minusHours(1);
        // 结果:上一个小时日期:2020-12-07T08:01:09.074
        System.out.println("上一个小时日期:" + localDateTime);

        /*
         * 获取上周的周几
         */
        LocalDate monday = LocalDate.now().minusWeeks(1).with(DayOfWeek.MONDAY);
        // 结果:上周周一日期:2020-11-30
        System.out.println("上周周一日期:"+monday);

        /*
         * 当前时间是星期几,这个月几号,今年的第几天
         */
        LocalDateTime now = LocalDateTime.now();
        // 结果:当天是这周的第几天:MONDAY
        System.out.println("当天是这周的第几天:"+now.getDayOfWeek());
        // 结果:当前日期是这个月的第几天:7
        System.out.println("当前日期是这个月的第几天:"+now.getDayOfMonth());
        // 结果:当前日期是今年的第几天:342
        System.out.println("当前日期是今年的第几天:"+now.getDayOfYear());
    }

LocalDate LocalDateTime Date相互转化

// 01. java.util.Date –> java.time.LocalDateTime

public void UDateToLocalDateTime() {

java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
}

// 02. java.util.Date –> java.time.LocalDate

public void UDateToLocalDate() {

java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
LocalDate localDate = localDateTime.toLocalDate();
}

// 03. java.util.Date –> java.time.LocalTime

public void UDateToLocalTime() {

java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
LocalTime localTime = localDateTime.toLocalTime();
}

// 04. java.time.LocalDateTime –> java.util.Date

public void LocalDateTimeToUdate() {

LocalDateTime localDateTime = LocalDateTime.now();
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
java.util.Date date = Date.from(instant);
}

// 05. java.time.LocalDate –> java.util.Date

public void LocalDateToUdate() {

LocalDate localDate = LocalDate.now();
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDate.atStartOfDay().atZone(zone).toInstant();
java.util.Date date = Date.from(instant);
}

// 06. java.time.LocalTime –> java.util.Date

public void LocalTimeToUdate() {

LocalTime localTime = LocalTime.now();
LocalDate localDate = LocalDate.now();
LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
ZoneId zone = ZoneId.systemDefault();
Instant instant = localDateTime.atZone(zone).toInstant();
java.util.Date date = Date.from(instant);
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/188318.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别「建议收藏」

    独立成分分析 ( ICA ) 与主成分分析 ( PCA ) 的区别「建议收藏」1.前言参考资料:https://www.zhihu.com/question/28845451书上写的是:1.主成分分析假设源信号间彼此非相关,独立成分分析假设源信号间彼此独立。2.主成分分析认为主元之间彼此正交,样本呈高斯分布;独立成分分析则不要求样本呈高斯分布。在利用最大化信息熵的方法进行独立成分分析的时候,需要为源信号假定一个概率密度分布函数g’,进而找出使得g(Y)=g…

    2022年5月13日
    45
  • sftp指定端口登录命令_sftp端口号怎么查

    sftp指定端口登录命令_sftp端口号怎么查  sftp-oPort=5022root@10.159.0.21  使用-o选项来指定端口号。  -oPort=远程端口号-oPort=5022不能放后面

    2022年9月14日
    1
  • 解惑4:java是值传递还是引用传递

    解惑4:java是值传递还是引用传递一、概述曾经纠结了很久java的参数传递方式是什么样的,后面粗略的了解了一鳞半爪以后有了大概的印象:“传参数就是值传递,传对象就是引用传递”,后面进一步查找了相关资料和文章以后,发现这么理解是不正确

    2022年8月16日
    5
  • java与python那个更好_java和python哪个更好用?

    java与python那个更好_java和python哪个更好用?互联网上的许多文章都举例论证了Python和Java之间的比较。但是没有人给出“java和python哪个更好用?”的明确理由。我们都知道,如今Python正在与几乎每种编程语言竞争。甚至它还在与世界上最强大的编程语言-Java竞争,Java是创建桌面应用程序的最佳编程语言之一。同时它也用于数据科学领域。因此,这两种编程语言在各个行业中都在相互竞争。在进行比较之前,让我们看一下这两种语言的概述。…

    2022年7月8日
    18
  • GridLayout平均分配空间

    GridLayout平均分配空间GridLayout平均分配空间始末:在使用Gridlayout时,想要做一个横向平均分配的布局,像这样的:都知道,设置一个columnCount配合上app:layout_columnWeight=”1″即可可是当某一个的文字过长时,就会出现下面的情况:解决方案:将所有的TextView加上一个属性:android:layout_width=”0dp”即可。源码:<?…

    2022年6月4日
    116
  • idea远程debug配置_debug调试工具

    idea远程debug配置_debug调试工具Idea设置远程debug,方便定位线上问题

    2022年9月4日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号