1 Date、LocalDate、LocalTime、LocalDateTime与时间戳的转换

在时间转换中,ZoneOffset表示偏移量,北京时间是+8,一般写为:ZoneOffset.of("+8"),也可以写为ZoneOffset.ofHours(8)

认识一下Date、LocalDate、LocalDateTime与时间戳

public static void main(String[] args) {// Fri Jan 06 14:09:40 CST 2023System.out.println(new Date());// 2023-01-06System.out.println(LocalDate.now());// 14:09:40.628System.out.println(LocalTime.now());// 2023-01-06T14:09:40.628System.out.println(LocalDateTime.now());// 1672985380628System.out.println(System.currentTimeMillis());}

1.1 获取系统当前时间戳

long millis = System.currentTimeMillis();

1.2 LocalDate转Date

LocalDate nowLocalDate = LocalDate.now();
Date date = Date.from(nowLocalDate.atStartOfDay(ZoneId.systemDefault()).toInstant())

1.3 LocalTime转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);
}

1.4 LocalDateTime转Date

LocalDateTime localDateTime = LocalDateTime.now();
Date date = Date.from(localDateTime.atZone(ZoneOffset.ofHours(8)).toInstant());

1.6 Date转LocalDate

Date date = new Date();
LocalDate localDate = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDate();

1.7 Date转LocalDateTime

Date date = new Date();
LocalDateTime localDateTime = date.toInstant().atZone(ZoneOffset.ofHours(8)).toLocalDateTime();

1.8 LocalDate转时间戳

LocalDate localDate = LocalDate.now();
long timestamp = localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant().toEpochMilli();

1.9 LocalDateTime转时间戳

LocalDateTime localDateTime = LocalDateTime.now();
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).toEpochMilli();

2 使用LocalDate、LocalTime、LocalDateTime做时间偏移

2.1 获取当月最后一天23:59:59

public static void main(String[] args) {// 2023-01-31final LocalDate lastDate = LocalDate.now().with(TemporalAdjusters.lastDayOfMonth());System.out.println(lastDate);// 2023-01-31T13:46:56.177final LocalDateTime lastDateTime = LocalDateTime.now().with(TemporalAdjusters.lastDayOfMonth());System.out.println(lastDateTime);// 2023-01-31T23:59:59final LocalDateTime lastDateTime2 = LocalDateTime.parse(lastDate + "T23:59:59");System.out.println(lastDateTime2);}

3 时间戳转和LocalDateTime和Date

3.1 时间戳转LocalDateTime

秒时间戳转为LocalDateTime

public static void main(String[] args) {//获得时间戳long second = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).getEpochSecond();// 将时间戳转为当前时间LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(second, 0, ZoneOffset.ofHours(8));// 2020-02-03T13:30:44System.out.println(localDateTime);}

毫秒时间戳转为LocalDateTime

public static void main(String[] args) {//获得时间戳long milliseconds = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();// 将时间戳转为当前时间LocalDateTime localDateTime = Instant.ofEpochMilli(milliseconds).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();// 2020-02-03T13:38:35.799System.out.println(localDateTime);}

3.2 时间戳转LocalDate

秒时间戳转为LocalDate

public static void main(String[] args) {//获得时间戳long seconds = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).getEpochSecond();// 将时间戳转为当前时间LocalDate localDate = Instant.ofEpochSecond(seconds).atZone(ZoneOffset.ofHours(8)).toLocalDate();// 2020-02-03System.out.println(localDate);}

毫秒时间戳转为LocalDate

public static void main(String[] args) {//获得时间戳long milliseconds = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();// 将时间戳转为当前时间LocalDate localDate = Instant.ofEpochMilli(milliseconds).atZone(ZoneOffset.ofHours(8)).toLocalDate();// 2020-02-03System.out.println(localDate);}

java时间戳与LocalDateTime常用转换方式相关推荐

  1. Java时间戳与日期格式转换工具类

    Java时间戳与日期格式转换工具类 在做web开发时,有时候需要用到时间戳,在前台进行日期转换,从数据库中取出来是日期格式的,这里记录下使用的转换工具类(这些都是静态方法,通过类名.方法的形式即可调用 ...

  2. Java时间戳与时间互相转换(含毫秒及秒转换方式)

    在Java的日常开发中,会随时遇到需要对时间处理的情况,有些时候是需要将时间Date转为时间戳,或是需要将时间戳TimeStamp转换为时间,于是在此篇文章中都有详细的写法与转换方式. 废话不多说,直 ...

  3. Java——时间戳和时间格式转换

    时间戳(TimeStamp):通常是一个字符序列,唯一地标志某一刻的时间.Java 中时间戳是指格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数. 一.获取时间戳的方式 1.Sy ...

  4. 数组转List的常用转换方式

    1.Arrays.asList(strArray) 方式 将数组转换List后,不能对List增删,只能查改,否 则抛异常.此时是java.util.Arrays.ArrayList 这里面有java ...

  5. java 时间戳 与时间的转换

    时间戳的定义: 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数.通俗的讲, 时间戳是一份能够表示一份数据在一个特定时 ...

  6. java中单例实现常用的方式_Java单例的常见形式

    Java单例的常见形式 本文目的:总结Java中的单例模式 本文定位:学习笔记 学习过程记录,加深理解,便于回顾.也希望能给学习的同学一些灵感 一.非延迟加载单例类 public class Sing ...

  7. java 时间戳和PHP时间戳 的转换 php time()

    总结一下java 时间戳和PHP时间戳 的转换问题: 由于精度不同,导致长度不一致,直接转换错误. JAVA时间戳长度是13位,如:1294890876859 PHP时间戳长度是10位, 如:1294 ...

  8. LocalDateTime日期转换错误:JSON parse error: Cannot deserialize value of type java.time.LocalDateTime

    LocalDateTime日期转换错误:JSON parse error: Cannot deserialize value of type java.time.LocalDateTime 背景:实体 ...

  9. java转换大小写快捷键_Java 大小写最快转换方式实例代码

    Java 大小写最快转换方式实例代码 这里直接给出实现代码,在代码中注释都很清楚,不多做介绍. Java代码 package io.mycat; import java.util.stream.Int ...

最新文章

  1. 2.5Gb/s混合集成光发射机
  2. 总结个人项目设计保障5大原则
  3. Android--实现自制录音/播放录音程序
  4. redis源码之util
  5. 织梦php调用字段,织梦dedecms搜索页调用自定义字段的方法
  6. 具有审计表的实体框架
  7. 公司决策层时刻想着:怎样开展业务,怎样防止公司完蛋
  8. 邮箱地址是什么,163vip.com怎么注册、价格、申请入口、功能!
  9. windbg加载符号
  10. Spring学习笔记(一)
  11. 一车abs线路怎么量_汽车ABS传感器怎么测量好坏?
  12. latex表格 在线生成
  13. 提升eBay店铺流量的方式有哪些?
  14. 1946年计算机的诞生来自于,计算机诞生于哪年?
  15. 《计算机二级Python语言程序设计考试》第3章:基本数据类型
  16. JavaServlet+jsp基础使用
  17. np.random.normal()函数
  18. 三星 4521 linux 驱动下载,三星scx-4521f驱动下载_三星scx-4521f驱动官方下载-太平洋下载中心...
  19. 冯扬文:2022年上半年集装箱航运市场行情分析与2022年下半年展望
  20. web前端-CSS Border(边框)-011

热门文章

  1. facebook头像和昵称_如何将昵称添加到您的Facebook个人资料
  2. 3dmax 计算机中丢失,3ds Max文件损坏或丢失怎么办?
  3. html5鼠标移过切换图片,鼠标移动到图片上切换到另一张图片,移出时又切默认图片...
  4. Nodejs-Express, Koa, Hapi三个框架应如何选择
  5. shell脚本编程for循环求阶乘_shell脚本循环及函数
  6. python字符串赋值_【python】字符串变量赋值时字符串可用单或双引号
  7. u-boot-2012.04.01移植到TQ2440(八):支持烧写yaffs文件系统
  8. 狂神系列之HTML学习笔记
  9. Instagram密友名单与私密账户的区别
  10. HCL(新华三模拟器)如何连接CRT及改界面颜色