js时间格式转换

1.获取日期对象:

time = new Date() //Mon Aug 31 2020 15:43:25 GMT+0800 (中国标准时间)

2.日期对象转时间戳:

timeStamp = time.getTime() //1598860299972

3.时间戳转日期对象:

time = new Date(timeStamp)

4.字符串转日期对象’

4.1:2020-02-23’

(网上都说这个不对,但是我试了一直时可以的,不知道是不是忽略了什么)

timeString = '2020-02-23'
time = new Date(timeString)
console.log("new Date('2020-02-23')::", time)

4.2:‘2020/02/23’

timeString = '2020/02/23'
time = new Date(timeString)
console.log("new Date('2020/02/23')::", time)

4.3:‘2020,02,23’

timeString = '2020,02,23'
time = new Date(timeString)
console.log("new Date('2020,02,23')::", time)

4.4:不符合现实逻辑的时间2020年2月30日,它将被解释成3月2日。

timeString = '2020,2,30 12:32:23'
time = new Date(timeString)
console.log("new Date('2020,2,30')::", time) //Sun Mar 01 2020 12:32:23 GMT+0800 (中国标准时间)

5.日期对象转时间字符串:2020-03-01 00:00:00

let formatDateTime = function (date) {
  var y = date.getFullYear();
  var m = date.getMonth() + 1;//注意这个“+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 second=date.getSeconds();
  second=second < 10 ? ('0' + second) : second;
  return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
timeString = formatDateTime(time)
console.log('timeString:', timeString) // 2020-03-01 00:00:00

6.时间戳和时间字符串互转

6.1.使用时间对象做中间介质
6.1.时间戳和时间字符串互转:如果是vue项目,可以引入moment.js,时间戳直接转时间字符串
注意要导入↓

import moment from 'moment'
timeString = moment(timeStamp).format('YYYY-MM-DD HH:mm:ss');
console.log('timeString-moment.js', timeString) // 2020-08-31 17:55:55

详细:https://blog.csdn.net/halo1416/article/details/83620022

ps1:直接使用new Date()获取日期对象:

time = new Date() //Mon Aug 31 2020 15:43:25 GMT+0800 (中国标准时间)

但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数(即时间戳)

timeStamp = new Date()-1000 //1598860299972

ps2:获取时间戳的三种方式

var timestamp =Date.parse(new Date());    // 结果:1280977330000       不推荐; 毫秒改成了000显示
var timestamp =(new Date()).valueOf();    //  结果:1280977330748       推荐; 
var timestamp=new Date().getTime();       //  结果:1280977330748        推荐;

ps3:全部代码段

let time, timeStamp, timeString;
//1.获取日期对象:
time = new Date() //Mon Aug 31 2020 15:43:25 GMT+0800 (中国标准时间)
//2.日期对象转时间戳:
timeStamp = time.getTime() //1598860299972
//3.时间戳转日期对象:
time = new Date(timeStamp)
// 4.1.字符串转日期对象'2020-02-23'(网上都说这个不对,开始我试了一直时可以的,不知道是不是忽略了什么
timeString = '2020-02-23'
time = new Date(timeString)
console.log("new Date('2020-02-23')::", time)
// 4.2.字符串转日期对象'2020/02/23'
timeString = '2020/02/23'
time = new Date(timeString)
console.log("new Date('2020/02/23')::", time)
// 4.3.字符串转日期对象'2020,02,23'
timeString = '2020,02,23'
time = new Date(timeString)
console.log("new Date('2020,02,23')::", time)
// 4.4.不符合现实逻辑的时间2020年2月30日,它将被解释成3月2日。
timeString = '2020,2,30 12:32:23'
time = new Date(timeString)
console.log("new Date('2020,2,30')::", time) //Sun Mar 01 2020 12:32:23 GMT+0800 (中国标准时间)
// 5.日期对象转时间字符串:2020-03-01 00:00:00
let formatDateTime = function (date) {
  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 second=date.getSeconds();
  second=second < 10 ? ('0' + second) : second;
  return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;
};
timeString = formatDateTime(time)
console.log('timeString:', timeString) // 2020-03-01 00:00:00


//直接使用new Date()获取日期对象:
time = new Date() //Mon Aug 31 2020 15:43:25 GMT+0800 (中国标准时间)
// 但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数(即时间戳)
timeStamp = new Date()-1000 //1598860299972

//6.1.时间戳和时间字符串互转:使用时间对象做中间介质
//6.1.时间戳和时间字符串互转:如果是vue项目,可以引入moment.js,时间戳直接转时间字符串
// 注意要导入↓
// import moment from 'moment'
timeString = moment(timeStamp).format('YYYY-MM-DD HH:mm:ss');
console.log('timeString-moment.js', timeString) // 2020-08-31 17:55:55

//ps:获取时间戳的三种方式
var timestamp =Date.parse(new Date());    // 结果:1280977330000       不推荐; 毫秒改成了000显示
var timestamp =(new Date()).valueOf();    //  结果:1280977330748       推荐; 
var timestamp=new Date().getTime();       //  结果:1280977330748        推荐;
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值