本文收录在猪哥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!
本文目前提供:LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转文中都使用的时区都是东8区,也就是北京时间。这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改1.LocalDateTime获取毫秒数//获取秒数Long second = LocalDateT...
创建一个Date,对应当前时间,精度在毫秒值
Date(long date);
根据时间戳毫秒数,创建对应的Date对象,时间戳是从1970-01-01 00:00:00 GMT
tips:
中国采用的东八区时间
1970-01-01 08:00:00
常用方法:
long getTime();
通过Date类对象获取对应当前时间的毫秒数
System.currentTimeMillis(); 可以获取当前系统时间戳毫秒数
//
时间转字符串格式化
DateTimeFormatter formatter =
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime now =
LocalDateTime.now();
System.out.println(now);
在中引入的表示一个格式为的日期,如。它不存储时间或时区。是一个不可变的类,它是对日期的描述,如生日。是一个基于值的类,要比较的两个实例,我们应该使用它的 方法。我们可以从中获取许多其他的日期字段,如年日()、周日()、月日()等等。的格式可以通过的格式方法来改变。现在的方法有:、、、、、、、等。例如,获取当前日期。输出是。现在改变格式。
输出是 。在中,被添加了更多的方法,如、、。在这一页,我们将讨论和它的方法,并举例说明。以年月日的格式输出,即。我们可以使用的下列静态方法来初始化。1. now(): 给出
LocalDateTime 相关操作
localDataTime获取秒级时间戳(ZoneOffset表示偏移量,北京时间是+8)LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8");
localDataTime获取毫秒秒级时间戳LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
localDateTime转换成字符串 //时间转换成我们需要时间格式
DateTim
Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
文中都使用的时区都是东8区,也就是北京时间。这是为了防止服务器设置时区错误时导致时间不对,如果您是其他时区,请自行修改
1.LocalDateTime获取毫秒数
//获取秒数
Long second = Loca
LocalDate now
LocalDate =
LocalDate.now();
Date date =
Date.from(
localDate.atStartOfDay(ZoneOffset.ofHours(8)).toInstant());
2.
LocalDateTime转Date
LocalDateTime localDateTime =
LocalDateTime.now();
Date date =
Date.from(
localDateTime.atZ.
select sysdate from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi') from dual;
select to_char(sysdate, 'yyyy' ) from dual; --年
select to_char(sysdate, 'MM' ) fr
早川不爱吃香菜: