时间格式整理

title: 时间格式整理 id: 684c43074da51ccac6dfbeda30c5a563 tags: [] date: 2000/01/01 00:00:00 updated: 2024/03/02 07:48:30 isPublic: true --#|[分隔]|#--

时间格式整理

对时间戳,或者毫秒级的时间间隔进行格式处理,应该算是很常见的需求。

时间戳转易读时间格式

/**
 * 时间戳转易读时间格式
 * @param {number} timestamp 时间戳
 */
export function getDate(timestamp?: Date) {
  let date = timestamp || new Date()
  let y = date.getFullYear()
  let m: string | number = date.getMonth() + 1
  m = m < 10 ? ('0' + m) : m
  let d: string | number = date.getDate()
  d = d < 10 ? ('0' + d) : d
  let h: string | number = date.getHours()
  h = h < 10 ? ('0' + h) : h
  let minute: string | number = date.getMinutes()
  minute = minute < 10 ? ('0' + minute) : minute
  let second: string | number = date.getSeconds()
  second = second < 10 ? ('0' + second) : second
  return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
}

时间间隔转为易读的时间格式(天)

功能更完善的时间格式转换

UTC(GMT)时间

定义

北京早上7点,太阳刚升起时,地球另一个地方的太阳刚刚落下,那里的时间可能是晚上7点。

为了统一全球时间,科学界定义了协调世界时,又称世界统一时间世界标准时间国际协调时间

由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC

协调世界时被提出前,使用的是格林尼治标准时间(旧称格林威治标准时间),简写为 GMT

不过因为 GMT 所在本就是0时区,所以在前端开发来说,GMT === UTC

整个地球分为二十四时区,UTCGMT 定义的 0 时区,比北京慢8小时,北京是东八区,也就是说北京这个东八区早上8点整的时候,UTCGMT 的标准时间是 早上0点。

获取当前所处的时区

以下代码可以获取当前所处的时区,比 UTC 要早的为负值,晚的为正值。

比如在北京打印的值为 -8,因为北京的时间比UTC要早8小时,当北京为中午12点时,UTC时间是凌晨4点。

获取当前UTC时间

在全球任意位置执行下面的代码,可以得到当前UTC时间,所以在全球任意位置执行下面代码,得到的值都是一样的。

其他时区的时间转为本地时间

在A时区执行下面的方法,传入一个时区B和一个时间对象C,会返回当B时区为C时间时,A时区的时钟显示的时间。

使用示例:

Last updated

Was this helpful?