Java将时间戳转化为特定时区的日期字符串

先上代码:

ZonedDateTime dateTime = ZonedDateTime.ofInstant(
    Instant.ofEpochMilli(System.currentTimeMillis()),
    zone
);
//2019-12-01T19:01:46+08:00

String formattedDate = dateTime.format(
    DateTimeFormatter.ofPattern("yyyy-MM-dd")
);
//2019-12-01

String formattedTime = dateTime.format(
    DateTimeFormatter.ofPattern("HH:mm:ss")
);
//19:01:46

ZonedDateTime

ZonedDateTime是Java 8中用于表示带有时区信息的日期和时间的类。它包含了日期、时间和时区的信息。

ZonedDateTime.ofInstantZonedDateTime类的一个静态方法,用于根据给定的时间戳和时区创建一个ZonedDateTime对象。它的方法签名如下:

public static ZonedDateTime ofInstant(Instant instant, ZoneId zone)

参数说明:

  • instant:一个Instant对象,表示时间戳。Instant是一个不带时区信息的时间点,通常用于表示从1970年1月1日午夜开始经过的秒数或毫秒数。
  • zone:一个ZoneId对象,表示时区。ZoneId是一个用于表示时区标识符的类,例如:"Asia/Shanghai"、"America/New_York"等。

Instant

Instant是Java 8中用于表示时间戳的类。它表示从1970年1月1日午夜开始经过的秒数或毫秒数。

Instant.ofEpochMilli()Instant类的一个静态方法,用于根据给定的以毫秒为单位的时间戳创建一个Instant对象。它的方法签名如下:

public static Instant ofEpochMilli(long epochMilli)

参数说明:

  • epochMilli:一个long类型的参数,表示以毫秒为单位的时间戳。

DateTimeFormatter

dateTime.format()DateTimeFormatter类的一个实例方法,用于将日期时间对象格式化为指定的字符串表示形式。它的方法签名如下:

public String format(TemporalAccessor temporal)

参数说明:

  • temporal:一个实现了TemporalAccessor接口的对象,表示日期时间。ZonedDateTimeTemporalAccessor接口的一个实现类。

DateTimeFormatter.ofPattern("HH:mm:ss")DateTimeFormatter类的一个静态方法,用于创建一个日期时间格式化器对象。它的方法签名如下:

public static DateTimeFormatter ofPattern(String pattern)

参数说明:

  • pattern:一个字符串,表示日期时间的格式模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值