Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转本文目前提供:LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转文中都使用的时区都是东8区,也就是北京时间。这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改1.LocalDateTime获取毫秒数​//获取秒数Longsecond=LocalDateT…

大家好,又见面了,我是你们的朋友全栈君。

 

本文收录在猪哥GitHub:https://github.com/pig6/Java 中,本项目收集一线大厂面试、实战、Java学习路线等。

本文目前提供:LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

文中都使用的时区都是东8区,也就是北京时间。这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改

 

1.LocalDateTime获取毫秒数​

//获取秒数
Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
//获取毫秒数
Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();

 

2.LocalDateTime与String互转

//时间转字符串格式化
 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
 String dateTime = LocalDateTime.now(ZoneOffset.of("+8")).format(formatter);

//字符串转时间
String dateTimeStr = "2018-07-28 14:11:15";
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, df);

 

3.Date与LocalDateTime互转

    //将java.util.Date 转换为java8 的java.time.LocalDateTime,默认时区为东8区
    public static LocalDateTime dateConvertToLocalDateTime(Date date) {
        return date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime();
    }

   
    //将java8 的 java.time.LocalDateTime 转换为 java.util.Date,默认时区为东8区
    public static Date localDateTimeConvertToDate(LocalDateTime localDateTime) {
        return Date.from(localDateTime.toInstant(ZoneOffset.of("+8")));
    }


    /**
     * 测试转换是否正确
     */
    @Test
    public void testDateConvertToLocalDateTime() {
        Date date = DateUtils.parseDate("2018-08-01 21:22:22", DateUtils.DATE_YMDHMS);
        LocalDateTime localDateTime = DateUtils.dateConvertToLocalDateTime(date);
        Long localDateTimeSecond = localDateTime.toEpochSecond(ZoneOffset.of("+8"));
        Long dateSecond = date.toInstant().atOffset(ZoneOffset.of("+8")).toEpochSecond();
        Assert.assertTrue(dateSecond.equals(localDateTimeSecond));
    }

更多Java优质文章,请关注猪哥微信公众号:猪哥Java!
 

Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转

 

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

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

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


相关推荐

  • 嵌入式程序员面试题

    接着上一篇博文,说说这次找工作面试遇到的面试题。腾讯,面试职位:后台服务器工程师,大概有七八到笔试题,只能凭印象写出还记得的一些题目1.const的用法2.大小端问题3.二叉排序树的插入4.应用题,一台服务器一分钟的访问量是200W次,要求每隔五到十分钟提示重复登录的用户,请提供设计思路和算法其他一些公司的面试题:1.整型转字符串的实现(不使用库函数)

    2022年4月9日
    40
  • MYSQL 回表、索引覆盖、 索引下推[通俗易懂]

    MYSQL 回表、索引覆盖、 索引下推[通俗易懂]1.索引种类创建数据表&插入数据createtableuser(idint(10)auto_increment,namevarchar(30),agetinyint(4),primarykey(id),indexidx_age(age)USINGBTREE)engine=innodbcharset=utf8mb4;insertintouser(name,age)values(‘张三’,30),

    2022年9月25日
    2
  • 一千行 MySQL 学习笔记

    一千行 MySQL 学习笔记

    2021年10月25日
    47
  • html5 sexteen,TV and other factors lead to early teen sex

    html5 sexteen,TV and other factors lead to early teen sexToomuchtelevision,lowself-esteem,disappointinggradesandpoorfamilyrelationshipscanbeaformulathataddsuptoearlyteenagesex,accordingtoanewstudy.”Ifyouaddupallthefactors,yo…

    2022年5月24日
    29
  • java四舍五入(保留两位小数)[通俗易懂]

    java四舍五入(保留两位小数)[通俗易懂]1.最简单的方法:floata=123.4567f;这里的100就是2位小数点,如果要其它位,如4位,这里两个100改成10000floatb=(float)(Math.round(a*100))/100;doublef=111231.5585;BigDecimalb=newBigDecimal(f);doublef1=b.setScale(2,BigDecimal.ROUND_HALF_UP

    2022年5月16日
    43
  • eclipse搭建Android运行模拟器「建议收藏」

    eclipse搭建Android运行模拟器「建议收藏」首先要声明的是,其实下面这些都不用学,安装包可以网上下载一个全一点的sdk,直接打开sdk文件夹-eclipse-模拟器就行了,下面这些是为了练手。基本流程:JDK的安装和环境变量的设置\安装Eclipse\为Eclipse安装ADT插件(Help->InstallNewSoftware–Add )\Eclipse安装sdk(eclipse-windows-preferences),

    2022年9月27日
    3

发表回复

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

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