JavaScript 日期与时间转换

1. 获取当前日期

使用实例:getnowDate('-'); getnowDate('.'); 

结果实例:‘2022-09-09’; ‘2022.09.09’

/**
 * 获取当前日期
 * {param:String} str 日期连接字符('-', '.', ...)
 */
getnowDate(str) {
  const date = new Date()
  return date.getFullYear() + str + (date.getMonth() >= 9 ? (date.getMonth() + 1) : '0' + (date.getMonth() + 1)) + str + (date.getDate() < 10 ? ('0' + date.getDate()) : date.getDate())
}

2. 获取前几天日期

使用实例:getDay('1', '/'); getDay('-2', '-'); (当前日期:2022-10-10)

结果实例:‘2022/10/11’; ‘2022-10-08’

/**
 * 获取前几天日期
 * {param:String} num 与当前日期天数差('1', '-2', ...)
 * {param:String} str 日期连接字符('-', '.', ...)
 */
getDay(num, str) {
  var today = new Date()
  var nowTime = today.getTime()
  var ms = 24 * 3600 * 1000 * num
  today.setTime(parseInt(nowTime + ms))
  var oYear = today.getFullYear()
  var oMoth = (today.getMonth() + 1).toString()
  if (oMoth.length <= 1) oMoth = '0' + oMoth
  var oDay = today.getDate().toString()
  if (oDay.length <= 1) oDay = '0' + oDay
  return oYear + str + oMoth + str + oDay
},

3. 获取几个月前的输入日期

使用实例:GetPreMonthDay('2022.10.10', 3)

结果实例:‘2022.07.10’

/**
 * 获取几个月前的输入日期
 * {param:DateTime} date 输入日期(YYYY.MM.DD)
 * {param:number } monthNum 月数
 */
GetPreMonthDay(date, monthNum) {
  var dateArr = date.split('.')
  var year = dateArr[0] // 获取当前日期的年份
  var month = dateArr[1] // 获取当前日期的月份
  var day = dateArr[2] // 获取当前日期的日
  var days = new Date(year, month, 0)
  days = days.getDate() // 获取当前日期中月的天数
  var year2 = year
  var month2 = parseInt(month) - monthNum
  if (month2 <= 0) {
    var absM = Math.abs(month2)
    year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12)
    month2 = 12 - (absM % 12)
  }
  var day2 = day
  var days2 = new Date(year2, month2, 0)
  days2 = days2.getDate()
  if (day2 > days2) {
    day2 = days2
  }
  if (month2 < 10) {
    month2 = '0' + month2
  }
  var t2 = year2 + '.' + month2 + '.' + day2
  return t2
}

4. 中国标准时间转换成年月日时分秒

/**
 * 中国标准时间转换成年月日时分秒
 * 实例:js_biao_year('Tue Oct 11 2022 08:09:10 GMT+0800')
 * 2022-10-09 08:09:10
 */
js_biao_year(time) {
    var date = new Date(time)
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    m = m < 10 ? ('0' + m) : m
    var d = date.getDate()
    d = d < 10 ? ('0' + d) : d
    var h = date.getHours()
    h = h < 10 ? ('0' + h) : h
    var minute = date.getMinutes()
    minute = minute < 10 ? ('0' + minute) : minute
    var s = date.getSeconds()
    s = s < 10 ? ('0' + s) : s
    return y + '-' + m + '-' + d + 'T' + h + ':' + minute + ':' + s
    // return y + '-' + m + '-' + d
}

5. 获取指定日期的前后日期,并用年月日显示

/**
 * 获取前后日期并用年月日显示
 * 实例:getNextDate('2022-10-11', -2)
 * 2022年10月09日
 */
getNextDate(date, day) {
  var dd = new Date(date) // '2022-10-11' 转换为中国标准时间
  console.log('测试', dd)
  dd.setDate(dd.getDate() + day)
  var y = dd.getFullYear()
  var m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1
  var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()
  return y + '年' + m + '月' + d + '日'
},

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: JavaScript 提供了一些内置的函数和对象可以方便地实现时间时间戳的相互转换。 要将时间转换时间,可以使用 JavaScript 的 Date 对象。例如: ``` // 将时间转换时间 var timestamp = 1615574400; var date = new Date(timestamp * 1000); // 使用 Date 对象的方法格式化时间 console.log(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate()); // 2021-3-31 ``` 要将时间转换时间戳,可以使用 Date 对象的 `getTime()` 方法。例如: ``` // 将时间转换时间戳 var date = new Date("2022-12-17T00:00:00"); var timestamp = Math.floor(date.getTime() / 1000); console.log(timestamp); // 1675446400 ``` 注意,JavaScript时间戳是以毫秒为单位的,如果要将其转换为以秒为单位的时间戳,需要使用数学函数 `Math.floor()` 对时间戳进行取整。 另外,还可以使用 JavaScript 的 `toISOString()` 方法将时间转换为 ISO 格式的字符串,再使用正则表达式截取其中的时间戳。例如: ``` // 将时间转换为 ISO 格式的字符串 var date = new Date("2022-12-17T00:00:00"); var isoString = date.toISOString(); // 使用正则表达式截取时间戳 var timestamp = isoString.match(/\d{10}/g)[0]; console.log(timestamp); // 1675446400 ``` 希望这些信息能帮到你! ### 回答2: JavaScript中可以使用Date对象进行时间时间戳之间的转换。 1. 将时间转换时间戳: 要将一个特定的时间转换时间戳,可以使用Date对象的getTime()方法。该方法返回的是一个自1970年1月1日以来经过的毫秒数。例如,可以使用下面的代码将当前时间转换时间戳: ``` var timestamp = new Date().getTime(); ``` 2. 将时间转换时间: 要将一个时间转换时间,可以使用Date对象的构造函数,将时间戳作为参数传入。然后,可以使用该对象的各种方法(例如getFullYear()、getMonth()、getDate()等)来获取年、月、日、时、分、秒等信息。例如,可以使用下面的代码将一个时间转换时间: ``` var timestamp = 1609459200000; // 2021年1月1日的时间戳 var date = new Date(timestamp); console.log(date); ``` 以上代码将打印出:Fri Jan 01 2021 08:00:00 GMT+0800 (中国标准时间) 需要注意的是,JavaScript中的时间戳是以毫秒为单位的,而不是以秒为单位的。所以在进行时间戳的转换时,需要确保使用正确的单位。 总结起来,通过Date对象的getTime()方法可以将时间转换时间戳,通过Date对象的构造函数可以将时间转换时间。 ### 回答3: JavaScript时间时间戳之间的相互转换非常简单。时间戳是指从1970年1月1日00:00:00格林威治标准时间(UTC)开始经过的毫秒数。而JavaScript的Date对象表示一个特定的日期时间。 要将时间转换JavaScript的Date对象,可以使用Date的构造函数。例如,将时间戳1234567890转换为Date对象的代码如下: ```javascript var timestamp = 1234567890; var date = new Date(timestamp); ``` 这样就可以得到表示时间戳对应日期时间的Date对象。 相反,要将JavaScript的Date对象转换时间戳,可以使用Date对象的getTime()方法。该方法返回自1970年1月1日00:00:00 UTC到指定日期时间之间经过的毫秒数。例如,将Date对象转换时间戳的代码如下: ```javascript var date = new Date(); var timestamp = date.getTime(); ``` 这样就可以得到表示指定Date对象对应的时间戳。 总之,要在JavaScript中进行时间时间戳之间的转换,可以使用Date对象的构造函数将时间转换为Date对象,或者使用Date对象的getTime()方法将Date对象转换时间戳。这两种方法对于时间时间戳之间的转换非常方便。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值