您现在的位置是:首页 > 正文

JDK1.8 新特性之时间相关

2024-01-30 23:18:02阅读 0

一、参考文章

​​十分详细的jdk8时间相关操作以及知识点(文章很长)

LocalDateTime工具类:根据当前、周、月、季度、半年、年等维度获取时间

二、常用

    /**
     * <p>获取当前月的范围内的所有时间<p>
     */
    public static void between(){
		LocalDateTime first = LocalDateTime.of(LocalDate.now().with(TemporalAdjusters.firstDayOfMonth()), LocalTime.MIN);

        List list = new ArrayList<>();
        Stream.iterate(first, date -> date.plusDays(1)).limit(LocalDate.now().lengthOfMonth())
                .forEach(date -> list.add(date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))));
        return list;
    }
    /**
     * 两个日期间隔天数
     * @param day0
     * @param day1
     * @return long
     */
    public static long daysInterval(LocalDate day0, LocalDate day1) {
        return DAYS.between(day0, day1);
    }
    /**
     * 时间:localDateTime -》 Date
     * @return java.util.Date

     */
    public static Date localDateTime2Date(LocalDateTime localDateTime) {
        return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
    }
    /**
     * 时间:字符串 -》 Date
     * @param date
     * @param datePattern
     * @return java.util.Date
     */
    public static Date string2Date(String date, String datePattern) {
        return Date.from(LocalDateTime.parse(date, DateTimeFormatter.ofPattern(datePattern)).atZone(ZoneId.systemDefault()).toInstant());
    }
  
 
    /**
     * 时间:Date -》  字符串
     * @param date
     * @param datePattern
     * @return java.util.Date
     */
    public static String date2String(Date date, String datePattern) {
        return date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime().format(DateTimeFormatter.ofPattern(datePattern));
    }
   
    /**
     * 时间:Date -》  LocalDate
     * @param date
     * @return java.util.Date
     */
    public static LocalDate date2LocalDate(Date date) {
        return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
    }
    /**
     * 字符串 -》 LocalDate
     * @param date
     * @param datePattern
     * @return java.time.LocalDate
     */
    public static LocalDate string2LocalDate(String date,String datePattern) {
        return LocalDate.parse(date, DateTimeFormatter.ofPattern(datePattern));
    }
    /**
     * 字符串 -》 LocalDateTime
     * @param date
     * @param datePattern
     * @return java.time.LocalDateTime
     */
    public static LocalDateTime string2LocalDateTime(String date,String datePattern) {
        return LocalDateTime.parse(date, DateTimeFormatter.ofPattern(datePattern));
    }

    /**
     * <p>将时间格式化成字符串<p>
     * @author penghao.wang
     * @date 2022/5/7 10:51
     * @param localDateTime
     * @param pattern 时间格式,如yyyy-MM-dd等
     * @return java.lang.String
     */
    public static String localDateTime2String(LocalDateTime localDateTime,String pattern){
        return localDateTime.format(DateTimeFormatter.ofPattern(pattern));
    }
    /**
     * <p>将时间格式化成字符串<p>
     * @param localDate
     * @param pattern 时间格式,如yyyy-MM-dd等
     * @return java.lang.String
     */
    public static String localDate2String(LocalDate localDate,String pattern){
        return localDate.format(DateTimeFormatter.ofPattern(pattern));
    }

三、注意

1、HH是24小时制,hh是12小时制。大写的H是二十四小时制的小时数(0-23),小写的h是十二小时制的小时数(am/pm 1-12)


记录一些常用的,未完待续。。。

网站文章

  • axure下拉选项和动态面板交互联动:根据不同选项显示对应颜色

    axure下拉选项和动态面板交互联动:根据不同选项显示对应颜色

    因不方便传视频,暂时上传截图效果:上面是下拉框,下面是一个动态面板。会根据下拉框选中的选项,显示对应的颜色。具体的联动过程如下。第一步:在axure页面加一个下拉框,命名为optionList,并增加...

    2024-01-30 23:17:55
  • ueditor清除多余空行

    ueditor清除多余空行

    问题描述 使用ueditor编辑器导入内容的时候,尤其是从第三方网站抓取的内容,往往会存在很多空行 一般的形式是 产生的效果就是会空出一行或者多行,在手机端会显示很多空余的地方 ...

    2024-01-30 23:17:48
  • 性能测试怎么入门?一文7个知识点带你成功入门!

    性能测试怎么入门?一文7个知识点带你成功入门!

    企业中性能测试,一般,先做负载测试,得到最大可接受的并发用户数,再通过这个最 大可接受的并发用户数,进行性能测试,得到性能测试指标值,再根据这个指标值,判断是否符合预期,符合,则测试结束,如果不符合,则需要进行问题定位、分析与调优。一般最后再做压力测试,来测试服务器的稳定性。

    2024-01-30 23:17:19
  • Java JDBC_API详解_Connection

    Java JDBC_API详解_Connection

    Java JDBC_API详解_Connection

    2024-01-30 23:17:12
  • UI自动化测试:会消失的弹窗(Toast)如何定位? 最新发布

    UI自动化测试:会消失的弹窗(Toast)如何定位? 最新发布

    看到标题可能有的小伙伴们懵了,什么是Toast,其实Toast大家都见过,就是一般在我们页面中停留大概2~3秒的时间后自动消失的弹框,那么既然要做自动化,可能Toast也需要大家进行测试,那么小编今天就来介绍下如何定位页面上的Toast。

    2024-01-30 23:17:04
  • c#轻量级高并发物联网服务器接收程序源码

    c#轻量级高并发物联网服务器接收程序源码

    c#轻量级高并发物联网服务器接收程序源码(仅仅是接收硬件数据程序,没有web端,不是java,协议自己写),对接几万个设备没问题,数据库采用ef6+sqlite,可改ef+MySQL.该程序只是源码使用示例,里面有使用方法,自己研究,不包教会,难度属中上层不建议新手拿走。ID:6999612973416375...

    2024-01-30 23:16:35
  • java程序设计任务驱动式教程_java程序设计任务驱动式教程保持良好的交流答案...

    以下说法中,反映当代世界各国课程改革中所存在着的一些共同的发展趋势是()。 A.重对教育的等级化、特权化和专制化否定的教育特征是()。 A.教育的终身化B.教育的多元化皮亚杰的认知发展观属于()。 A...

    2024-01-30 23:16:29
  • 华为mate40会是鸿蒙,华为Mate40将携新款鸿蒙OS设备9月份同台发布:搭载5nm麒麟1020...

    华为mate40会是鸿蒙,华为Mate40将携新款鸿蒙OS设备9月份同台发布:搭载5nm麒麟1020...

    【天极网手机频道】根据往年惯例,华为Mate系列旗舰新机一般在9月份发布,并且首发海思麒麟新一代处理器。不过今年华为在芯片设计/制造方面受到了美国进一步制裁,许多人担心华为Mate40系列会延后发布。...

    2024-01-30 23:15:56
  • Android 开发跨进程大图

    对于跨进程传输数据的问题,我之前也写了一篇,配合阅读效果更好: Android 开发太难了,这异常竟然捕获不到? 1 抛一个问题 这一天,法海想锻炼小青的定力,由于Bitmap也是一个Parcelab...

    2024-01-30 23:15:53
  • Yandex – 俄罗斯无限免费空间、免费相册、免费邮箱、免费网盘

    Yandex – 俄罗斯无限免费空间、免费相册、免费邮箱、免费网盘

    Yandex – 俄罗斯无限免费空间、免费相册、免费邮箱、免费网盘 Yandex是俄罗斯最大的门户网站,Alexa世界排名26位,俄罗斯网站中排名第一!无限容量、无限流量的免费空间,单个文件5M以内,FTP方式上传管理文件,不支持ASP、PHP等动态程序,纯静态空间,提供yourname.narod.ru免费二级域名1个,不支持绑定自己的域名,页面右上角有浮动广告。Yandex还...

    2024-01-30 23:15:45