date和localdatetime转换_date和localdatetime

date和localdatetime转换_date和localdatetime/***Date转换成LocalDate*@paramdate*@return*/publicstaticLocalDatedate2LocalDate(Datedate){if(null==date){returnnull;}returndate.toInstant().atZone(ZoneId.systemDefault()).toL..

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

Jetbrains全系列IDE稳定放心使用

 /**
     * Date转换成LocalDate
     * @param date
     * @return
     */
    public static LocalDate date2LocalDate(Date date) {
        if(null == date) {
            return null;
        }
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    }

    /**
     * LocalDate转换成Date
     * @param localDate
     * @return
     */
    public static Date localDate2Date(LocalDate localDate) {
        if(null == localDate) {
            return null;
        }
        ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
        return Date.from(zonedDateTime.toInstant());
    }

    //获取月第一天
    public static Date getStartDayOfMonth(String date) {
        LocalDate now = LocalDate.parse(date);
        return getStartDayOfMonth(now);
    }

    public static Date getStartDayOfMonth(LocalDate date) {
        LocalDate now = date.with(TemporalAdjusters.firstDayOfMonth());
        return localDate2Date(now);
    }

    public static Date getStartDayOfMonth() {
        return getStartDayOfMonth(LocalDate.now());
    }


    //获取月最后一天
    public static Date getEndDayOfMonth(String date) {
        LocalDate localDate = LocalDate.parse(date);
        return getEndDayOfMonth(localDate);
    }

    public static Date getEndDayOfMonth(Date date) {
        return getEndDayOfMonth(date2LocalDate(date));
    }

    public static Date getEndDayOfMonth(LocalDate date) {
        LocalDate now = date.with(TemporalAdjusters.lastDayOfMonth());
        Date.from(now.atStartOfDay(ZoneId.systemDefault()).plusDays(1L).minusNanos(1L).toInstant());
        return localDate2Date(now);
    }

    public static Date getEndDayOfMonth() {
        return getEndDayOfMonth(LocalDate.now());
    }


    //获取周第一天
    public static Date getStartDayOfWeek(String date) {
        LocalDate now = LocalDate.parse(date);
        return getStartDayOfWeek(now);
    }

    public static Date getStartDayOfWeek(TemporalAccessor date) {
        TemporalField fieldISO = WeekFields.of(Locale.CHINA).dayOfWeek();
        LocalDate localDate = LocalDate.from(date);
        localDate = localDate.with(fieldISO, 1);
        return localDate2Date(localDate);
    }

    //获取周最后一天
    public static Date getEndDayOfWeek(String date) {
        LocalDate localDate = LocalDate.parse(date);
        return getEndDayOfWeek(localDate);
    }

    public static Date getEndDayOfWeek(TemporalAccessor date) {
        TemporalField fieldISO = WeekFields.of(Locale.CHINA).dayOfWeek();
        LocalDate localDate = LocalDate.from(date);
        localDate = localDate.with(fieldISO, 7);
        return Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).plusDays(1L).minusNanos(1L).toInstant());
    }

    //一天的开始
    public static LocalDateTime getStartOfDay(LocalDate date) {
        LocalDateTime time = LocalDateTime.of(date, LocalTime.MIN);
        return time;
    }

    public static LocalDateTime getStartOfDay() {
        return getStartOfDay(LocalDate.now());
    }

    /**
     * 一天的结束
     */
    public static LocalDateTime getEndOfDay(LocalDate date) {
        LocalDateTime time = LocalDateTime.of(date, LocalTime.MAX);
        return time;
    }

    public static LocalDateTime getEndOfDay() {
        return getEndOfDay(LocalDate.now());
    }
    //获取下个月的某一天
    public static LocalDate getNextMonth(String date) {
        LocalDate now = LocalDate.parse(date);
        return now.minusMonths(-1);
    }
    //获取上个月的某一天
    public static LocalDate getLastMonth(String date) {
        LocalDate now = LocalDate.parse(date);
        return now.minusMonths(1);
    }

 

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

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

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


相关推荐

  • 栈 数据结构_单调栈和单调队列

    栈 数据结构_单调栈和单调队列单调栈笔者在做leetcode的题(下一个出现的最大数字)时,接触到了单调栈这一种数据结构,经过研究之后,发现单调栈在解决某些问题时出奇的好用,下面是对单调栈的性质和一些典型题目。什么是单调栈?从名字上就听的出来,单调栈中存放的数据应该是有序的,所以单调栈也分为单调递增栈和单调递减栈单调递增栈:数据出栈的序列为单调递增序列单调递减栈:数据出栈的序列为单调递减序列ps:这里一定要注意…

    2022年4月19日
    27
  • svn设置中文_maven配置

    svn设置中文_maven配置一、前言SVN作为很常见的版本开发工具,安装的时候默认为英文,不过SVN官网支持多种语言的语言包,配置起来也很简单。二、现在中文简体语言包1)官网下载中文简体包官网下载地址传送门2)选择好对应位数,点击setup下载即可我下载好的放在了百度网盘里了链接:https://pan.baidu.com/s/1bVnTX15pBHAGSU8jQS5RjQ提取码:i8tt3)安装将下…

    2022年9月12日
    0
  • 西门子SCL定时器_西门子plc断开延时定时器

    西门子SCL定时器_西门子plc断开延时定时器在西门子PLC中利用STEP7软件编程的时候,想实现延时接通功能,通常会用到S_ODT定时器,因为这个最简单。在SCL中同样可以也将这个简单的延时接通定时器使用上,只不过没有像在LAD梯形图中编程那么简单了,稍微繁复了一些,当然这只是我个人意见。还是来看一下我的做法吧,如下图:该图片是SCL建立的源文件,编译后将会生成一个FC1的程序块。图中可以看到我定义了4个输入变量,2个输出变量,以及一个临时变量。可以看到最后编译的结果是0错误0警告!…

    2022年9月26日
    0
  • ioctl函数详解_函数concat的作用

    ioctl函数详解_函数concat的作用ioctl函数的作用特殊的read,write,当你用read,write不能完成某一功能时,就用ioctl我这里说的ioctl函数是在驱动程序里的,因为我不知道还有没有别的场合用到了ioctl,所以就规定了我们讨论的范围。为什么要写篇文章呢,是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。什么是ioctl。ioctl是设备驱动程序中对设备…

    2022年10月18日
    0
  • 经济基础知识(初级)【17】

    经济基础知识(初级)【17】1.党的十八大报告中概括的科学发展观最鲜明的精神实质包括()A.解放思想B.实事求是C.与时俱进D.求真务实E.城乡协调2.下来金融业务中,属于投资银行业务的有()A.为工商企业代理证券买卖B.向工商企业提供中长期贷款C.投资工商企业股票D.参与工商企业并购重组E.向消费者提供消费贷款3.下来会计要素中,反映企业财务状况的有()A.收入B.资产C.负债D.费用E.所有者权益4.下来数据整理与显示方法中,适用于顺序数据的有()A.圆形图B.直方图C.累积

    2022年5月28日
    40
  • 进口fbx角色动画read-only解

    进口fbx角色动画read-only解

    2022年1月6日
    35

发表回复

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

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