JS获取当前时间、及一周之前、一个月之前日期

简介: 这段代码展示了JavaScript中获取当前时间以及过去特定日期的方法。包括获取时间戳和格式化日期的函数,例如获取一周、一个月前的日期。另外,还包含了添加随机数的日期时间戳生成和计算两个日期之间差值的示例。

## JS获取当前时间、及一周之前、一个月之前日期


```bash

//获取当前时间戳

const t1 = new Date().valueOf() // 第一种,推荐

const t2 = new Date().getTime() // 第二种,推荐

const t3 = Date.parse(new Date()) // 第三种,不推荐,精度差一些


//获取当前日期

   getDay(day){

     var today = new Date();

     var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;

     today.setTime(targetday_milliseconds); //注意,这行是关键代码

     var tYear = today.getFullYear();

     var tMonth = today.getMonth();

     var tDate = today.getDate();

     tMonth = this.doHandleMonth(tMonth + 1);

     tDate = this.doHandleMonth(tDate);

     return tYear+""+tMonth+""+tDate;

   },

   //获取当前月份

   doHandleMonth(month){

     var m = month;

     if(month.toString().length == 1){

       m = "0" + month;

     }

     return m;

   },

 //一周之前

 this.params.startDate=this.getDay(-7)

 //两周之前

 this.params.startDate=this.getDay(-14)

 //一个月之前

 this.params.startDate=this.getDay(-31)

 //当前时间

 this.params.endDate=this.getDay(0)

 

```


## 获取年月日加时分秒


```bash

getNowDate  () {

 var date = new Date();

 var sign2 = ":";

 var year = date.getFullYear() // 年

 var month = date.getMonth() + 1; // 月

 var day = date.getDate(); // 日

 var hour = date.getHours(); // 时

 var minutes = date.getMinutes(); // 分

 var seconds = date.getSeconds() //秒

 var weekArr = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期天'];

 var week = weekArr[date.getDay()];

 // 给一位数的数据前面加 “0”

 if (month >= 1 && month <= 9) {

   month = "0" + month;

 }

 if (day >= 0 && day <= 9) {

   day = "0" + day;

 }

 if (hour >= 0 && hour <= 9) {

   hour = "0" + hour;

 }

 if (minutes >= 0 && minutes <= 9) {

   minutes = "0" + minutes;

 }

 if (seconds >= 0 && seconds <= 9) {

   seconds = "0" + seconds;

 }

 return year + "-" + month + "-" + day + " " + hour + sign2 + minutes + sign2 + seconds;

}


```


## yyyyMMddHHmmssSSS最后在加一位1-10的随机数


```bash

function generateTimestamp() {

 const date = new Date();

 const year = date.getFullYear();

 const month = ("0" + (date.getMonth() + 1)).slice(-2);

 const day = ("0" + date.getDate()).slice(-2);

 const hour = ("0" + date.getHours()).slice(-2);

 const minute = ("0" + date.getMinutes()).slice(-2);

 const second = ("0" + date.getSeconds()).slice(-2);

 const millisecond = ("00" + date.getMilliseconds()).slice(-3);


 const randomNumber = Math.floor(Math.random() * 10) + 1;


 return year + month + day + hour + minute + second + millisecond + randomNumber;

}

```

## 计算两个日期之前的时间差


```bash

// 定义两个日期

var date1 = new Date("2022/01/01 00:00:00");

var date2 = new Date("2022/02/01 00:00:00");


// 计算两个日期之间的毫秒数差

var diff = Math.abs(date1.getTime() - date2.getTime());


// 将毫秒数转换为年、月、日、时、分、秒

var years = Math.floor(diff / (1000 * 60 * 60 * 24 * 365));

diff -= years * 1000 * 60 * 60 * 24 * 365;

var months = Math.floor(diff / (1000 * 60 * 60 * 24 * 30));

diff -= months * 1000 * 60 * 60 * 24 * 30;

var days = Math.floor(diff / (1000 * 60 * 60 * 24));

diff -= days * 1000 * 60 * 60 * 24;

var hours = Math.floor(diff / (1000 * 60 * 60));

diff -= hours * 1000 * 60 * 60;

var minutes = Math.floor(diff / (1000 * 60));

diff -= minutes * 1000 * 60;

var seconds = Math.floor(diff / 1000);


console.log(years + "年" + months + "个月" + days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒");

```

## 时间戳转换日期格式


```

//时间戳转换

 const returnTime=(timestamp:any)=>{

   var date = new Date(timestamp);

 var year = date.getFullYear();

 var month = ("0" + (date.getMonth() + 1)).slice(-2); // 前补0,确保月份始终是两位数

 var day = ("0" + date.getDate()).slice(-2);

 var hours = ("0" + date.getHours()).slice(-2);

 var minutes = ("0" + date.getMinutes()).slice(-2);

 var seconds = ("0" + date.getSeconds()).slice(-2);


 return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;

 }

```

相关文章
|
1月前
|
JavaScript 前端开发
JavaScript Date(日期) 对象
JavaScript Date(日期) 对象
37 2
|
6月前
|
JavaScript
JS设置日期为0时0分0秒
项目中经常要给设置默认值,搜索从哪天开始,这时候,如果直接通过new Date()来获取时间,会有时分秒,如果快速设置为0时0分0秒?
247 0
|
6月前
|
JavaScript 前端开发
javascript 如何判断字符串日期是否相差七天
在JavaScript中,你可以使用`Date`对象来比较两个日期之间的差异。下面是一个简单的示例,演示如何判断两个字符串日期是否相差七天: ```javascript function isSevenDaysDifference(date1, date2) { // 确保输入是字符串 if (typeof date1 !== 'string' || typeof date2 !== 'string') { return false; } // 将字符串转换为Date对象 var d1 = new Date(date1);
175 1
|
6月前
|
移动开发 JavaScript 前端开发
分享76个时间日期JS特效,总有一款适合您
分享76个时间日期JS特效,总有一款适合您
66 0
|
6月前
|
JavaScript 前端开发 UED
分享89个时间日期JS特效,总有一款适合您
分享89个时间日期JS特效,总有一款适合您
75 3
|
2月前
|
JavaScript 前端开发
js时间戳转日期时间
js时间戳转日期时间
80 20
|
3天前
|
JavaScript 前端开发 搜索推荐
Moment.js、Day.js、Miment,日期时间库怎么选?
【10月更文挑战第29天】如果你需要一个功能强大、插件丰富的日期时间库,并且对性能要求不是特别苛刻,Moment.js是一个不错的选择;如果你追求极致的轻量级和高性能,那么Day.js可能更适合你;而如果你有一些特定的日期时间处理需求,并且希望在性能和功能之间取得平衡,Miment也是可以考虑的。
|
2月前
|
JavaScript 前端开发
|
5月前
|
JavaScript vr&ar 数据库
技术笔记:Js获取当前日期时间及其它操作
技术笔记:Js获取当前日期时间及其它操作
127 1
|
4月前
|
JavaScript
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
vue 农历日期转公历日期(含插件 js-calendar-converter 使用教程)
227 0