JS Date时间各种格式互转

首先要先了解一下Date 有几种格式分别是什么:

1、标准日期:2018-08-29   或者    2018-08-29 14:00:00

2、中国标准时间:Wed Aug 29 2018 14:43:23 GMT+0800 (中国标准时间)

3、时间戳:1535527075442

4、毫秒数:1535527075442000      注意:时间戳 * 1000 = 毫秒数

注意:苹果手机不能识别 "-" 连接符,只能识别 2018/08/29 14:00:00 这种格式,所以需将 "-" 更换为 "/" 。

方法:"2018-08-29 14:00:00".replace(/\-/g, '/');

 

 

标准时间 或者 中国标准时间 转 毫秒数:

//变量
let myDate1 = 'Mon Oct 23 2017 17:20:13 GMT+0800 (中国标准时间)';
let myDate2 = '2017-09-19';
let myDate3 = '2017-09-19 20:00:00';

//实现方法
function dateToMs (date) {
    let result = new Date(date).getTime();
    return result;
}

//例子
console.log(dateToMs(myDate1));//--->1508750413000
console.log(dateToMs(myDate2));//--->1505779200000
console.log(dateToMs(myDate3));//--->1505779400000

毫秒数 或者 中国标准时间 转 标准日期:

国标准时间转日期:

//变量
let myDate1 = 'Mon Oct 23 2017 17:20:13 GMT+0800 (中国标准时间)';
let myDate2 = '2017-09-19';
let myDate3 = '2017-09-19 20:00:00';
let myTime1 = dateToLongMs(myDate1);
let myTime2 = dateToLongMs(myDate2);
let myTime3 = dateToLongMs(myDate3);

//实现方法 @return 返回2个值,一个是带时分秒,另一个不带。
function msToDate (time) {
    let datetime = new Date(time);
    let year = datetime.getFullYear();
    let month = datetime.getMonth();
    let date = datetime.getDate();
    let hour = datetime.getHours();
    let minute = datetime.getMinutes();
    let second = datetime.getSeconds();

    let result1 = year + 
                 '-' + 
                 ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) + 
                 '-' + 
                 ((date + 1) < 10 ? '0' + date : date) + 
                 ' ' + 
                 ((hour + 1) < 10 ? '0' + hour : hour) +
                 ':' + 
                 ((minute + 1) < 10 ? '0' + minute : minute) + 
                 ':' + 
                 ((second + 1) < 10 ? '0' + second : second);

    let result2 = year + 
                 '-' + 
                 ((month + 1) >= 10 ? (month + 1) : '0' + (month + 1)) + 
                 '-' + 
                 ((date + 1) < 10 ? '0' + date : date);

    let result = {
        hasTime: result1,
        withoutTime: result2
    };

    return result;
}

//例子
console.log(msToDate(myTime1).hasTime);//--->2017-10-23 17:20:13
console.log(msToDate(myTime1).withoutTime);//--->2017-10-23
console.log(msToDate(myTime2).hasTime);//--->2017-09-19 08:00:00
console.log(msToDate(myTime2).withoutTime);//--->2017-09-19

标准日期 转 中国标准时间:

//变量
let myDate1 = '2017-09-19';
let myDate2 = '2017-09-19 20:00:00';

//实现方法
function formatterDate (date) {
    let result = new Date(date);
    return result;
}

//例子
console.log(formatterDate(myDate1));//--->Tue Sep 19 2017 08:00:00 GMT+0800 (中国标准时间)
console.log(formatterDate(myDate2));//--->Tue Sep 19 2017 20:00:00 GMT+0800 (中国标准时间)

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值