JavaScript中,关于时间戳和时间字符串得一些操作

在日常开发工作中,经常会有时间戳和时间字符串之间得相互转换问题,其中牵扯到处理精度,数据存储等问题,这里就把以前遇到的相关问题,统一整理下:

1.获取当前得时间戳

有三种方法,这里推荐两种,可以精确到毫秒

1 const date = new Date();
2 
3 // 第一种
4 const timestamp = date.valueOf(); 
5 
6 
7 // 第二种
8 
9 const timestamp = date.getTime();

2.获取当前时间戳的: yyyy-mm-dd hh:mm:ss 格式的时间字符串

 1 // 获取当前时间的'yyyy-mm-dd hh:mm:ss'格式的时间字符串
 2 function setTimeNowStr() {
 3     const date = new Date();
 4     const year = date.getFullYear();
 5     const month = date.getMonth() + 1;
 6     const day = date.getDate();
 7     const hour = date.getHours();
 8     const minute = date.getMinutes();
 9     const second = date.getSeconds();
10     const zmonth = month > 9 ? month.toString() : '0' + month.toString();
11     const zday = day > 9 ? day.toString() : '0' + day.toString();
12     const zhour = hour > 9 ? hour.toString() : '0' + hour.toString();
13     const zminute = minute > 9 ? minute.toString() : '0' + minute.toString();
14     const zsecond = second > 9 ? second.toString() : '0' + second.toString();
15     return year.toString() + '-' + zmonth + '-' + zday + ' ' + zhour + ':' + zminute + ':' + zsecond;
16 }

3. 根据时间戳 获取 yyyy-mm-dd hh:mm:ss 格式的时间字符串

// 根据时间戳返回'yyyy-mm-dd hh:mm:ss'格式的字符串
function formatDateTime(inputTime) {
    const date = new Date(inputTime);
    const y = date.getFullYear();
    let m: any = date.getMonth() + 1;
    m = m < 10 ? ('0' + m) : m;
    let d: any = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    let h: any = date.getHours();
    h = h < 10 ? ('0' + h) : h;
    let minute: any = date.getMinutes();
    let second: any = date.getSeconds();
    minute = minute < 10 ? ('0' + minute) : minute;
    second = second < 10 ? ('0' + second) : second;
    return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
}

4.根据'yyyy-mm-dd hh:mm:ss'格式的时间字符串获得时间戳(只能精确到秒)

// 根据'yyyy-mm-dd hh:mm:ss'格式的时间字符串获得时间戳
function getTimeByStr(str) {
    let date = str;
    date = date.substring(0, 19);
    date = date.replace(/-/g, '/');
    return new Date(date).getTime();
}

5. 根据星期的数字返回星期的汉字

// 根据星期的数字返回星期的汉字
function getWeekDayByValue(value) {
    switch (value) {
        case  1 :
            return '星期一';
        case  2 :
            return '星期二';
        case  3 :
            return '星期三';
        case  4 :
            return '星期四';
        case  5 :
            return '星期五';
        case  6 :
            return '星期六';
        case  0 :
            return '星期日';
    }
}

 

posted @ 2019-03-14 18:43  曼施坦因  阅读(530)  评论(0)    收藏  举报