常见时间格式 UTC/GMT/CST 格式化处理

前后端我们通常都会遇到时间格式化处理的问题,通常我们都会采用时间处理插件moment.jsday.js来快速处理,如果只是简单的处理,也会采取自定义简单时间处理的方法。

day.js使用传送门

首先简单介绍下常见的几种时间:
CST
北京时间,China Standard Time,又名中国标准时间

中部标准时间(北美洲),Central Standard Time (USA) UT-6:00
澳州中部时间,Central Standard Time (Australia) UT+9:30
中国时间,China Standard Time UT+8:00
古巴标准时间,Cuba Standard Time UT-4:00

CST可以表示美国。澳大利亚,中国。古巴四个国家的时间

示例:
Sun Aug 30 2020 23:07:43 GMT+0800 (中国标准时间)

GMT
格林尼治标准时间,Greenwich Mean Time

示例:
Sun, 30 Aug 2020 15:09:23 GMT

UTC
国际协调时间,Coordinated Universal Time

ISO
标准时间

示例:
2020-08-30T15:09:23.786Z

CST = UTC/GMT + 8小时

通常Java总采用的是美国时间,格式化为常见的的YYYY-MM-DD HH:mm:ss之类的格式时,会存在14小时的误差

//moment.js处理方式
moment(time).utc().zone(+6).format('YYYY-MM-DD HH:mm:ss');
//day.js处理方式
dayjs(time).subtract(14, 'hour').format('YYYY-MM-DD HH:mm:ss')

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个字符串看起来是一个 Date 对象的 toString 方法返回的字符串,其中包含了一个时间戳,即 1681186795000,表示从 1970 年 1 月 1 日 00:00:00 开始经过了 1681186795000 毫秒的时间。 如果你想要将这个时间戳转换成可读性更好的日期时间字符串,可以使用 SimpleDateFormat 类。以下是一个示例代码: ```java import java.text.SimpleDateFormat; import java.util.Date; import java.util.TimeZone; public class DateFormatExample { public static void main(String[] args) { String dateString = "/Date(1681186795000+0000)/"; long timestamp = Long.parseLong(dateString.replaceAll("\\D+","")); Date date = new Date(timestamp); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); formatter.setTimeZone(TimeZone.getTimeZone("UTC")); String formattedDate = formatter.format(date); System.out.println(formattedDate); } } ``` 在这个示例中,我们首先使用正则表达式从字符串中提取出时间戳,并将其转换成 long 类型。然后使用 Date 对象来表示这个时间戳对应的日期和时间。接着使用 SimpleDateFormat 对象来将日期和时间格式化成指定的字符串格式 "yyyy-MM-dd HH:mm:ss"。最后打印出格式化后的日期时间字符串。 需要注意的是,上面的代码使用了 UTC 时区来格式化日期时间字符串,因为时间戳中的 "+0000" 表示的是 UTC 时区。如果你希望使用其他时区来格式化日期时间字符串,可以将 TimeZone.getTimeZone("UTC") 修改为对应的时区即可。 希望这个示例对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值