javascript转换日期格式

问题描述 投票:0回答:2

我在javascript日期中遇到问题。我想显示之前和之后的30分钟

我应该如何在current dates中添加30分钟之前或之后。

       this.setState({ 

          current:new Date().toLocaleTimeString(), //10:30:02 PM


          slotTime: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),   //10:30 AM



输出:

10:30 AM  //current date

预期:

10:00 AM   //previous
10:30 AM   //current
11:00 AM   //after 30min

有人帮我吗?

javascript date datetime
2个回答
0
投票

希望此帮助

* required:
  * - timestamp => number of timestamp format
  * - format => return format, ex. format 1 (23:59:59), format 2 (23:59)
  * return: time with string
  */
  function timestampToTime(timestamp, format = 1) {
    if (!isNaN(timestamp) || timestamp != undefined) {
      let dd = new Date(timestamp)

      if (format == 1) {
        return ('00' + dd.getHours()).slice(-2) + ':' + ('00' + dd.getMinutes()).slice(-2) + ':' + ('00' + dd.getSeconds()).slice(-2)
      } else if (format == 2) {
        return ('00' + dd.getHours()).slice(-2) + ':' + ('00' + dd.getMinutes()).slice(-2)
      }
    } else {
      return null
    }
  }

  let dd = + new Date()

  let previous = timeStampToTime(dd - (1.8e+6))  // 1.8e+6 = 30 min
  let current = timeStampToTime(dd)
  let after = timeStampToTime(dd + (1.8e+6))  // 1.8e+6 = 30 min

  console.log(previous)
  console.log(current)
  console.log(after)

0
投票

您可以这样简单地进行:

var date = new Date();
var dd = date.setMinutes(date.getMinutes() -30); //reduce 30 minutes
var reductedTime = new Date(dd);

console.log("Current time: ", new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })) //current time
console.log("Reduced time: ", reductedTime.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })) // reduced time by 30mins
© www.soinside.com 2019 - 2024. All rights reserved.