当前位置:   article > 正文

js获取当前时间、获取当前时间戳、时间与时间戳互转。

js获取当前时间

1、 JavaScript 获取当前时间戳:
第一种:

var timestamp = Date.parse(new Date());
console.log(timestamp); // 1622427159000
  • 1
  • 2

第二种:

var timestamp = (new Date()).valueOf();
console.log(timestamp);	// 1622427218359
  • 1
  • 2

第三种:

new Date().getTime() ; // 1622427445085
  • 1

注:第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。

2、指定时间转换时间戳

// 时间格式必须为  YYYY-MM-DD HH:MM:SS  或者 YYYY-MM-DD
let start_time  = "2021-05-08 12:50:30";
new Date(start_time).getTime()  // 使用上面三种均可以实现
// 1620449430000
  • 1
  • 2
  • 3
  • 4

3、 时间戳转换时间

function format(dataString)
	{
		//dataString是整数,否则要parseInt转换
		var time = new Date(dataString);
		var year = time.getFullYear();
		var month = time.getMonth()+1;
		var day = time.getDate();
		var hour = time.getHours();
		var minute = time.getMinutes();
		var second = time.getSeconds();
		return year+'-'+(month<10?'0'+month:month)+'-'+(day<10?'0'+day:day)+' '+(hour<10?'0'+hour:hour)+':'+(minute<10?'0'+minute:minute)+':'+(second<10?'0'+second:second)
	}
format(1620449430000);
// "2021-05-08 12:50:30"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
// 方法2  - 有ESlint校验的慎用
	const created = "2020-08-07T09:42:20Z";
	formatDate ( new Date(created ) )
  // 日期处理  
  formatDate = (date) => {
    let format = 'yyyy-MM-dd hh:mm:ss'
    const args = {
        "M+": date.getMonth() + 1,
         "d+": date.getDate(),
         "h+": date.getHours(),
         "m+": date.getMinutes(),
         "s+": date.getSeconds(),
         "q+": Math.floor((date.getMonth() + 3) / 3),  // quarter
         "S": date.getMilliseconds()
    };
    if (/(y+)/.test(format))
       format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
           for (const i in args) {
               const n = args[i];
               if (new RegExp("(" + i + ")").test(format))
                   format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? n : ("00" + n).substr(("" + n).length));
        }
    return format;
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

4、Js获取当前日期时间及其它操作

var myDate = new Date();//获取系统当前时间
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

5、日期时间脚本库方法列表

/*
	Date.prototype.isLeapYear;	//判断闰年
	Date.prototype.Format ;	//日期格式化
	Date.prototype.DateAdd ;	//日期计算
	Date.prototype.DateDiff;	// 比较日期差
	Date.prototype.toString ;	//日期转字符串
	Date.prototype.toArray ;	//日期分割为数组
	Date.prototype.DatePart ;	//取日期的部分信息
	Date.prototype.MaxDayOfDate;	// 取日期所在月的最大天数
	Date.prototype.WeekNumOfYear;	// 判断日期所在年的第几周
	StringToDate ;	//字符串转日期型
	IsValidDate ;	//验证日期有效性
	CheckDateTime ;	//完整日期时间检查
	daysBetween ;	//日期天数差
*/

// 案例代码如下:
	// 判断闰年
Date.prototype.isLeapYear = function(){
	return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0)));
}
/*
	// 日期格式化
	// 格式 YYYY/yyyy/YY/yy 表示年份
	// MM/M 月份
	// W/w 星期
	// dd/DD/d/D 日期
	// hh/HH/h/H 时间
	// mm/m 分钟
	// ss/SS/s/S 秒
*/
Date.prototype.Format = function(formatStr){
	var str = formatStr;
	var Week = ['日','一','二','三','四','五','六'];
 
	str=str.replace(/yyyy|YYYY/,this.getFullYear());
	str=str.replace(/yy|YY/,(this.getYear() % 100)>9?(this.getYear() % 100).toString():0+ (this.getYear() % 100));
 
	str=str.replace(/MM/,this.getMonth()>9?this.getMonth().toString():0+ this.getMonth());
	str=str.replace(/M/g,this.getMonth());
 
	str=str.replace(/w|W/g,Week[this.getDay()]);
	 
	str=str.replace(/dd|DD/,this.getDate()>9?this.getDate().toString():0+ this.getDate());
	str=str.replace(/d|D/g,this.getDate());
	 
	str=str.replace(/hh|HH/,this.getHours()>9?this.getHours().toString():0+ this.getHours());
	str=str.replace(/h|H/g,this.getHours());
	str=str.replace(/mm/,this.getMinutes()>9?this.getMinutes().toString():0+ this.getMinutes());
	str=str.replace(/m/g,this.getMinutes());
	 
	str=str.replace(/ss|SS/,this.getSeconds()>9?this.getSeconds().toString():0+ this.getSeconds());
	str=str.replace(/s|S/g,this.getSeconds());
	 
	return str;
}
 
/*
//| 求两个时间的天数差 日期格式为 YYYY-MM-dd
*/
function daysBetween(DateOne,DateTwo){
	var OneMonth = DateOne.substring(5,DateOne.lastIndexOf (-));
	var OneDay = DateOne.substring(DateOne.length,DateOne.lastIndexOf (-)+1);
	var OneYear = DateOne.substring(0,DateOne.indexOf (-));
	 
	var TwoMonth = DateTwo.substring(5,DateTwo.lastIndexOf (-));
	var TwoDay = DateTwo.substring(DateTwo.length,DateTwo.lastIndexOf (-)+1);
	var TwoYear = DateTwo.substring(0,DateTwo.indexOf (-));
 
	var cha=((Date.parse(OneMonth+/'+OneDay+’/'+OneYear)- Date.parse(TwoMonth+/'+TwoDay+’/'+TwoYear))/86400000);
	return Math.abs(cha);
}
 
/*
//| 日期计算
*/
Date.prototype.DateAdd = function(strInterval, Number) {
	var dtTmp = this;
	switch (strInterval) {
		case ‘s’ :return new Date(Date.parse(dtTmp) + (1000 * Number));
		case ‘n’ :return new Date(Date.parse(dtTmp) + (60000 * Number));
		case ‘h’ :return new Date(Date.parse(dtTmp) + (3600000 * Number));
		case ‘d’ :return new Date(Date.parse(dtTmp) + (86400000 * Number));
		case ‘w’ :return new Date(Date.parse(dtTmp) + ((86400000 * 7) * Number));
		case ‘q’ :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number*3, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
		case ‘m’ :return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + Number, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
		case ‘y’ :return new Date((dtTmp.getFullYear() + Number), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
	}
}
 
/*
//| 比较日期差 dtEnd 格式为日期型或者有效日期格式字符串
*/
Date.prototype.DateDiff = function(strInterval, dtEnd) {
	var dtStart = this;
	if (typeof dtEnd == ‘string’ )//如果是字符串转换为日期型
	{
		dtEnd = StringToDate(dtEnd);
	}
	switch (strInterval) {
		case ‘s’ :return parseInt((dtEnd – dtStart) / 1000);
		case ‘n’ :return parseInt((dtEnd – dtStart) / 60000);
		case ‘h’ :return parseInt((dtEnd – dtStart) / 3600000);
		case ‘d’ :return parseInt((dtEnd – dtStart) / 86400000);
		case ‘w’ :return parseInt((dtEnd – dtStart) / (86400000 * 7));
		case ‘m’ :return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12)  (dtStart.getMonth()+1);
		case ‘y’ :return dtEnd.getFullYear() – dtStart.getFullYear();
	}
}
 
/*
//| 日期输出字符串,重载了系统的toString方法
*/
Date.prototype.toString = function(showWeek){
	var myDate= this;
	var str = myDate.toLocaleDateString();
	if (showWeek){
		var Week = ['日','一','二','三','四','五','六'];
		str += ‘ 星期’ + Week[myDate.getDay()];
	}
	return str;
}
 
/*
//| 日期合法性验证
//| 格式为:YYYY-MM-DD或YYYY/MM/DD
*/
function IsValidDate(DateStr){
	var sDate=DateStr.replace(/(^\s+|\s+$)/g,); //去两边空格;
	if(sDate==) return true;
	//如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为”
	//数据库中,合法日期可以是:YYYY-MM/DD(2003-3/21),数据库会自动转换为YYYY-MM-DD格式
	var s = sDate.replace(/[\d]{ 4,4 }[\-/]{ 1 }[\d]{ 1,2 }[\-/]{ 1 }[\d]{ 1,2 }/g,);
	if (s==) //说明格式满足YYYY-MM-DD或YYYY-M-DD或YYYY-M-D或YYYY-MM-D
	{
		var t=new Date(sDate.replace(/\-/g,/'));
		var ar = sDate.split(/[-/:]/);
		if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
		{
//alert(‘错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。’);
			return false;
		}
	}else{
//alert(‘错误的日期格式!格式为:YYYY-MM-DD或YYYY/MM/DD。注意闰年。’);
		return false;
	}
	return true;
}
 
/*
//| 日期时间检查
//| 格式为:YYYY-MM-DD HH:MM:SS
*/
function CheckDateTime(str){
	var reg = /^(\d+)-(\d{ 1,2 })-(\d{ 1,2 }) (\d{ 1,2 }):(\d{ 1,2 }):(\d{ 1,2 })$/;
	var r = str.match(reg);
	if(r==null)return false;
	r[2]=r[2]-1;
	var d= new Date(r[1],r[2],r[3],r[4],r[5],r[6]);
	if(d.getFullYear()!=r[1])return false;
	if(d.getMonth()!=r[2])return false;
	if(d.getDate()!=r[3])return false;
	if(d.getHours()!=r[4])return false;
	if(d.getMinutes()!=r[5])return false;
	if(d.getSeconds()!=r[6])return false;
	return true;
}
 
/*
//| 把日期分割成数组
*/
Date.prototype.toArray = function(){
	var myDate = this;
	var myArray = Array();
	myArray[0] = myDate.getFullYear();
	myArray[1] = myDate.getMonth();
	myArray[2] = myDate.getDate();
	myArray[3] = myDate.getHours();
	myArray[4] = myDate.getMinutes();
	myArray[5] = myDate.getSeconds();
	return myArray;
}
 
/*
//| 取得日期数据信息
//| 参数 interval 表示数据类型
//| y 年 m月 d日 w星期 ww周 h时 n分 s秒
*/
Date.prototype.DatePart = function(interval){
	var myDate = this;
	var partStr=;
	var Week = ['日','一','二','三','四','五','六'];
	switch (interval){
		case ‘y’ :partStr = myDate.getFullYear();break;
		case ‘m’ :partStr = myDate.getMonth()+1;break;
		case ‘d’ :partStr = myDate.getDate();break;
		case ‘w’ :partStr = Week[myDate.getDay()];break;
		case ‘ww’ :partStr = myDate.WeekNumOfYear();break;
		case ‘h’ :partStr = myDate.getHours();break;
		case ‘n’ :partStr = myDate.getMinutes();break;
		case ‘s’ :partStr = myDate.getSeconds();break;
	}
	return partStr;
}
 
/*
//| 取得当前日期所在月的最大天数
*/
Date.prototype.MaxDayOfDate = function(){
	var myDate = this;
	var ary = myDate.toArray();
	var date1 = (new Date(ary[0],ary[1]+1,1));
	var date2 = date1.dateAdd(1,’m',1);
	var result = dateDiff(date1.Format(‘yyyy-MM-dd’),date2.Format(‘yyyy-MM-dd’));
	return result;
}
 
/*
//| 取得当前日期所在周是一年中的第几周
*/
Date.prototype.WeekNumOfYear = function(){
	var myDate = this;
	var ary = myDate.toArray();
	var year = ary[0];
	var month = ary[1]+1;
	var day = ary[2];
	document.write(< script language=VBScript\> \n’);
	document.write(‘myDate = Datue(+month+-'+day+’-'+year+) \n’);
	document.write(‘result = DatePart(‘ww’, myDate) \n’);
	document.write(‘ \n’);
	return result;
}
 
/*
//| 字符串转成日期类型
//| 格式 MM/dd/YYYY MM-dd-YYYY YYYY/MM/dd YYYY-MM-dd
*/
function StringToDate(DateStr){
	var converted = Date.parse(DateStr);
	var myDate = new Date(converted);
	if (isNaN(myDate)){
		//var delimCahar = DateStr.indexOf(‘/’)!=-1?’/':’-';
		var arys= DateStr.split(-);
		myDate = new Date(arys[0],–arys[1],arys[2]);
	}
	return myDate;
}
 
// 若要显示:当前日期加时间(如:2009-06-12 12:00)
function CurentTime(){
	var now = new Date();
	
	var year = now.getFullYear(); //年
	var month = now.getMonth() + 1; //月
	var day = now.getDate(); //日
	 
	var hh = now.getHours(); //时
	var mm = now.getMinutes(); //分
	 
	var clock = year +-;
 
	if(month < 10)
	clock +=0;
 
	clock += month +-;
 
	if(day < 10)
	clock +=0;
	 
	clock += day + ” “;
	 
	if(hh < 10)
	clock +=0;
	 
	clock += hh +:;
	if (mm < 10) clock +=0;
	clock += mm;
	return(clock);
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279

6、倒计时抽奖案例
在这里插入图片描述

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>简单易用的倒计时js代码 - 站长素材</title>
<style>
*{ margin:0; padding:0; list-style:none;}
body{ font-size:18px; text-align:center;}
.time{ height:30px; padding:200px;}
</style>
</head>
<body>
    <div class="time">
        <span id="t_d">00天</span>
        <span id="t_h">00时</span>
        <span id="t_m">00分</span>
        <span id="t_s">00秒</span>
    </div>
<script>
   function GetRTime(){
   		//双十一倒计时抽奖
       var EndTime= new Date('2018/11/11 00:00:00');
       var NowTime = new Date();
       var t =EndTime.getTime() - NowTime.getTime();
       var d=Math.floor(t/1000/60/60/24);
       var h=Math.floor(t/1000/60/60%24);
       var m=Math.floor(t/1000/60%60);
       var s=Math.floor(t/1000%60);

       document.getElementById("t_d").innerHTML = d + "天";
       document.getElementById("t_h").innerHTML = h + "时";
       document.getElementById("t_m").innerHTML = m + "分";
       document.getElementById("t_s").innerHTML = s + "秒";
   }
   setInterval(GetRTime,0);
  
</script>
</body>
</html> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

原文链接:
https://blog.csdn.net/qq_37896578/article/details/90080953?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162242671516780269858391%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162242671516780269858391&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-90080953.pc_search_result_control_group&utm_term=js%E8%8E%B7%E5%8F%96%E6%97%B6%E9%97%B4%E6%88%B3&spm=1018.2226.3001.4187
https://www.cnblogs.com/ShanHeDiao/p/4445012.html
https://tangce.blog.csdn.net/article/details/83787402?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/631432
推荐阅读
相关标签
  

闽ICP备14008679号