转换时间格式

1、将时间戳1719814598 转成这种时间2024/03/04 13:28 格式
 

// 转换成这种时间格式:2024/03/04 13:28
export function timestampToTime(timestamp: number) {
  // 创建一个新的 Date 对象
  const date = new Date(timestamp * 1000) // 时间戳需乘以 1000,因为 JavaScript 中时间戳是以毫秒为单位的

  // 获取日期和时间
  const year = date.getFullYear()
  const month = (date.getMonth() + 1).toString().padStart(2, '0') // 月份是从 0 开始的,所以需要加 1
  const day = date.getDate().toString().padStart(2, '0')
  const hour = date.getHours().toString().padStart(2, '0')
  const minute = date.getMinutes().toString().padStart(2, '0')

  // 拼接成所需的格式
  const formattedTime = `${year}/${month}/${day} ${hour}:${minute}`

  return formattedTime
}

2、将Tue Jul 02 2024 00:00:00 GMT+0800 (GMT+08:00) 这种格式的时间格式转为时间戳

export function dateToTimestamp(dateString: string) {
  // 创建一个新的 Date 对象
  const date = new Date(dateString)

  // 获取时间戳
  const timestamp = date.getTime() / 1000 // 将毫秒转换为秒

  return timestamp
}

3、HH:MM:SS格式(14:23:45)

export function getTimes(timestamp, type) {
  const date = new Date(timestamp * 1000)

  // 获取小时、分钟和秒
  const hours = date.getHours().toString().padStart(2, '0')
  const minutes = date.getMinutes().toString().padStart(2, '0')
  const seconds = date.getSeconds().toString().padStart(2, '0')

  // 拼接成HH:MM:SS格式
  const formattedTime = `${hours}:${minutes}:${seconds}`

  return formattedTime
}

4、时间戳转为时间字符串(D天H小时M分)。

export function secondsToDHMS(seconds) {
  const days = Math.floor(seconds / (3600 * 24))
  seconds %= 3600 * 24
  const hours = Math.floor(seconds / 3600)
  seconds %= 3600
  const minutes = Math.floor(seconds / 60)

  return `${days}天${hours}小时${minutes}分`
}

5、入参为最后到期时间,计算当前时间与到期时间戳之间的时间差,并以“D天H:M:S”格式返回。

export function formatTimeWithDays(timestamp) {
  const date = new Date(timestamp * 1000)
  const now = new Date()
  const difference = date.getTime() - now.getTime()

  const seconds = Math.floor((difference / 1000) % 60)
  const minutes = Math.floor((difference / (1000 * 60)) % 60)
  const hours = Math.floor((difference / (1000 * 60 * 60)) % 24)
  const days = Math.floor(difference / (1000 * 60 * 60 * 24))

  const formattedSeconds = seconds.toString().padStart(2, '0')
  const formattedMinutes = minutes.toString().padStart(2, '0')
  const formattedHours = hours.toString().padStart(2, '0')

  return `${days}天${formattedHours}:${formattedMinutes}:${formattedSeconds}`
}

未完待续。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值