菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
410
0

Js获取时间,当前,一周前,一月前的时间,时间戳转换,时间格式化,日期格式化

原创
05/13 14:22
阅读数 55188

时间格式化参考:https://www.cnblogs.com/zhoushuang0426/p/10559172.html

js获取当前时间戳;指定时间转换时间戳;时间戳转换时间:参考https://blog.csdn.net/qq_37896578/article/details/90080953?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.add_param_isCf

当天0点的时间戳

const timestamp =
        new Date(
          new Date(new Date().toLocaleDateString()).getTime()
        ).getTime() / 1000
      console.log('-----')
      console.log(timestamp)

一周前的0点时间戳

const timestamp =
        new Date(
          new Date(new Date().toLocaleDateString()).getTime() -
            7 * 24 * 3600 * 1000
        ).getTime() / 1000
      console.log(timestamp)

当天的30天前的0点时间戳

const timestamp =
        new Date(
          new Date(new Date().toLocaleDateString()).getTime() -
            30 * 24 * 3600 * 1000
        ).getTime() / 1000
      console.log(timestamp)

 

在线时间戳转换工具:https://www.matools.com/timestamp

 

将时间戳转换为Y-m-d H:i:s格式:

export function timestampToTime(timestamp) {
  const date = new Date(timestamp * 1000) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
  const year = date.getFullYear()
  const month =
    date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
  const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
  const hours = date.getHours() < 10 ? '0' + date.getHours() : date.getHours()
  const minutes =
    date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()
  const seconds =
    date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()
  return (
    year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
  )
}

 

 

js获取日期,获取今天,昨天,三天前,七天前 日期函数

FunGetDateStr: function (p_count) {
            var dd = new Date();
            dd.setDate(dd.getDate() + p_count);//获取p_count天后的日期
            var y = dd.getFullYear();
            var m = dd.getMonth() + 1;//获取当前月份的日期
            if( m <10){
                m = '0'+m;
            }
            var d = dd.getDate();
            if( d <10){
                d = '0'+d;
            }
            return y + "-" + m + "-" + d;
        }

 var three = dates.FunGetDateStr(-3);
            $("#starttime").val(three);

 

 获取距离当前时间12小时的每个时间段

["07:08", "08:08", "09:08", "10:08", "11:08", "12:08", "13:08", "14:08", "15:08", "16:08", "17:08", "18:08"]

// 需引入moment.js
//
获取当前时间的前12个小时的日期数组 export function getHoursArr() { const arr = [] for (let i = 0; i < 12; i++) { const unix = new Date(new Date().getTime() - i * 60 * 60 * 1000) const date = moment(unix).format('HH:mm') arr.push(date) } return arr }

 

 

将日期格式2018-09-10 08:00:00转化为时间戳:

//获取到的时间
var nowTime = '2018-09-11 13:50:52';
 
var thisTime = nowTime;
thisTime = thisTime.replace(/-/g, '/');
var time = new Date(thisTime);
time = time.getTime();
console.log(time);  // 1536645052000

JS 日期格式和时间戳相互转化:

1. 将时间戳转换成日期格式:

function timestampToTime(timestamp) {
        var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
        var Y = date.getFullYear() + '-';
        var M = padding0(date.getMonth()+1,2)+ '-';
        var D = padding0(date.getDate(),2)+ ' ';
        var h = padding0(date.getHours(),2) + ':';
        var m = padding0(date.getMinutes(),2) + ':';
        var s = padding0(date.getSeconds(),2);
        return Y+M+D+h+m+s;
    }
    timestampToTime(1561040280);
    console.log(timestampToTime(1561040280));//2019-06-17 22:18:54

注意:如果是Unix时间戳记得乘以1000。比如:PHP函数time()获得的时间戳就要乘以1000。

(padding0方法是数字前填充0  详见:https://blog.csdn.net/qq_29483485/article/details/81458856

2、将日期格式转换成时间戳:

function getUnixTime(dateStr){
    var newstr = dateStr.replace(/-/g,'/'); 
    var date =  new Date(newstr); 
    var time_str = date.getTime().toString();
    return time_str.substr(0, 10);
}
 
getUnixTime('2019-06-17 23:11:54');
console.log(getUnixTime('2019-06-17 23:11:54'));//1560784314

 获得距离一个时间点偏移的时间点:

获得时间戳 - 偏移的时间戳:

比如获得距离当前11小时的时间戳:

const timeStamp = new Date().getTime() - 11 * 60 * 60 * 1000

转换成10位的字符串:

const timeStamp = (new Date().getTime() - 11 * 60 * 60 * 1000 + '').substr(0, 10)

距离当前 50分钟的时间戳:

const timeStamp = new Date().getTime() -  50 * 60 * 1000

 

 

发表评论

0/200
410 点赞
0 评论
收藏