js获取时间戳的方法(node 获取时间)

js获取时间戳的方法(node 获取时间)

扫码添加渲大师小管家,免费领取渲染插件、素材、模型、教程合集大礼包!

大家好,今天来介绍js获取时间戳的方法(js中获取年月日)的问题,以下是渲大师小编对此问题的归纳和整理,感兴趣的来一起看看吧!

nodejs如何获取时间戳与时间差

Nodejs中获取时间戳的方法有很多种,例如:
1.new Date().getTime()

2.Date.now()

3.process.uptime()

4.process.hrtime()

平时想获取一个时间戳的话,用这些方法都可以,那么这些方法有什么区别呢?
new Date().getTime()和Date.now()
这些方法是通过node运行环境的系统时间毫秒数, +new Date() 写法的效果和 new Date().getTime() 效果相同。
在需要频繁使用时间戳的场景中,需要关注方法性能,这几种方法中 Date.now()的性能橡简最佳,可以通过一点代码来测试:
var t1 = new Date().getTime();
var t2 = t1;
var i = 0, count = 10000000, interval = 0;

for(i = 0; i < count; i++)
{
t2 = new Date().getTime();
interval = (t2 - t1);
}
interval = (t2 - t1);
console.log('【new Date().getTime()】interval: ', interval);

t1 = new Date().getTime();
for(i = 0; i < count; i++)
{
t2 = +new Date;
interval = (t2 - t1);
}
interval = (t2 - t1);
console.log('【+new Date】interval: ', interval);

t1 = new Date().getTime();
for(i = 0; i <梁指裤 count; i++)
{
t2 = Date.now();
interval = (t2 - t1);
}
interval = (t2 - t1);
console.log('【Date.now()】interval: ', interval);输出结果:
【new Date().getTime()】interval: 1583
【+new Date】interval: 2189
【Date.now()】interval: 891
如果只是获取时间戳,那么使用Date.now()是最佳的做法,但是如果逗轿要计算时间差,这几个方法就会有点问题:运行环境的系统时间有时候是会有微小回调的,这样得到的时间差就不精确了,有时候会引发某些BUG。
process.hrtime()
这种方式是根据任意取的一个过去的时间点,距离现在的时间来获取一个精确的时间戳对象:[秒, 纳秒]
> process.hrtime()
[ 3197146, 563552237 ]这种方式和系统时间无关,因此不会受到系统时钟漂移的影响,用来计算时间差的时候就不会有BUG了。
但是,万事总有但是 - -
如果用在一个被频繁调用的地方呢?
var t1 = new Date().getTime();
var t2 = t1;
var i = 0, count = 10000000, interval = 0;

var hrTime1 = process.hrtime();
var hrTime2 = hrTime1;

t1 = new Date().getTime();
for(i = 0; i < count; i++)
{
hrTime2 = process.hrtime(hrTime1);
}
t2 = new Date().getTime();
interval = parseInt(hrTime2[0] * 1e3 + hrTime2[1] * 1e-6);
console.log('【hrTime】interval: ', interval, t2 - t1);【hrTime】interval: 6412 6413 没有记错的话,相同的创建次数,上面的Date.now()可是900ms左右啊!
process.hrtime()也太慢了有木有!!!
原来nodejs处理高精度时间的时候,计算比较复杂,占用系统资源多,速度慢,那么在高频应用的地方就不适合用这个方法了。下面请看process.uptime()
process.uptime()
此函数是通过nodejs启动运行时间来得到一个秒数时间戳,精确到毫秒:
process.uptime

输入:6.419
此函数以node启动时间为准,同样也不会受系统时钟漂移影响,适合用来计算时间差。
那么多次调用性能如何呢?
var t1 = new Date().getTime();
var t2 = t1;
var i = 0, count = 10000000, interval = 0;

t1 = process.uptime()*1000;
for(i = 0; i < count; i++)
{
t2 = process.uptime()*1000;
//interval = (t2 - t1);
}
interval = (t2 - t1);
console.log('【process.uptime()】interval: ', interval);输出:【process.uptime()】interval: 954
和process.hrtime()相比性能就搞出很多了~
不用算那么精确,就是快!
那么需要高频计算时间差的场合,就是你了!

js获取时间戳的方法(node 获取时间)

怎么用js获取年月日

获取年、月、日和将时间戳转换成日期格式
// 简单的一句代码
var date = new Date(时间戳); //获取一个时间对象
/
1. 下面是获取时间日期的方法,需要什么样的格式自己拼接起来就好了
2. 更多好用的方法可以在这查到 -> http://www.w3school.com.cn/jsref/jsref_obj_date.asp
*/
date.getFullYear(); // 获取和宽扒完整的年份(4位,1970)
date.getMonth(); // 获取月份(0-11,0代表1月,用的时候记唤昌得加上1)
date.getDate(); // 获取日(1-31)
date.getTime(); // 获取时间(从1970.1.1开始的毫秒数)
date.getHours(); // 获取小时数(0-23)
date.getMinutes(); // 获取分钟数(0-59)
date.getSeconds(); // 获取秒数(0-59)

// 比巧猜如需要这样的格式 yyyy-MM-dd hh:mm:ss
var date = new Date(1398250549490);
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate() + ' ';
h = date.getHours() + ':';
m = date.getMinutes() + ':';
s = date.getSeconds();
console.log(Y+M+D+h+m+s);
// 输出结果:2014-04-23 18:55:49

在JavaScript中如何实现时间戳与时间日期间相互转换

今天做项目遇到这样的问题,要将获取到的时间转换为时间戳,通过查阅相关资料,问题顺利解决,下面小编把具体实现代码分享到脚本之家平台,稿猛需要的朋友参考下
今天在工作中要将获取到的时间转换为时间戳,一时间竟不知道怎么用,于是不得不去查询资料,这里特地做个笔记。
1、将日期转换为时间戳。
要将日期转换为时间戳,首先得先获取到日期,这里可以姿闹直接指定日期,或者是使用当前日期。要获取当前日期,我们可以使用new Date()来获取。直接上代码。
// (1)、将当前日期转换为时间戳。
var now = new Date();
console.log(now.getTime()) // 将当前日期转换为时间戳,getTime()方法可返回距1970年1月1日之间的毫秒数。
// (2)、将指定日期转换为时间戳。
var t = "2017-12-08 20:5:30"; // 月、日、时、分、秒如果不满两位数可不带0.
var T = new Date(t); // 将指定日期转换为标准日期格式。Fri Dec 08 2017 20:05:30 GMT+0800 (中国标准时间)
console.log(T.getTime()) // 将转换后的标准日期转换为时间戳。2、将时间戳转换为日期。
var t = 787986456465; // 当参数为数字的时候,那么这个参数就是时间戳,被视为毫秒,创建一个距离1970年1月一日指定毫秒的时间日期对迹敬罩象。
console.log(new Date(t)) // Wed Dec 21 1994 13:07:36 GMT+0800 (中国标准时间)
var t2 = "2017-5-8 12:50:30";
console.log(new Date(t2)) // Mon May 08 2017 12:50:30 GMT+0800 (中国标准时间)
var t3 = "2017-10-1";
console.log(new Date(t3)) // Sun Oct 01 2017 00:00:00 GMT+0800 (中国标准时间) 不设定时分秒,则默认转换为00:00:00PS:下面看下javascript时间戳和日期字符串相互转换

// 获取当前时间戳(以s为单位)
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
//当前时间戳为:1403149534
console.log("当前时间戳为:" + timestamp);
// 获取某个时间格式的时间戳
var stringTime = "2014-07-10 10:21:12";
var timestamp2 = Date.parse(new Date(stringTime));
timestamp2 = timestamp2 / 1000;
//2014-07-10 10:21:12的时间戳为:1404958872
console.log(stringTime + "的时间戳为:" + timestamp2);
// 将当前时间换成时间格式字符串
var timestamp3 = 1403058804;
var newDate = new Date();
newDate.setTime(timestamp3 * 1000);
// Wed Jun 18 2014
console.log(newDate.toDateString());
// Wed, 18 Jun 2014 02:33:24 GMT
console.log(newDate.toGMTString());
// 2014-06-18T02:33:24.000Z
console.log(newDate.toISOString());
// 2014-06-18T02:33:24.000Z
console.log(newDate.toJSON());
// 2014年6月18日
console.log(newDate.toLocaleDateString());
// 2014年6月18日 上午10:33:24
console.log(newDate.toLocaleString());
// 上午10:33:24
console.log(newDate.toLocaleTimeString());
// Wed Jun 18 2014 10:33:24 GMT+0800 (中国标准时间)
console.log(newDate.toString());
// 10:33:24 GMT+0800 (中国标准时间)
console.log(newDate.toTimeString());
// Wed, 18 Jun 2014 02:33:24 GMT
console.log(newDate.toUTCString());
Date.prototype.format = function(format) {
var date = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
"q+": Math.floor((this.getMonth() + 3) / 3),
"S+": this.getMilliseconds()
};
if (/(y+)/i.test(format)) {
format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
}
for (var k in date) {
if (new RegExp("(" + k + ")").test(format)) {
format = format.replace(RegExp.$1, RegExp.$1.length == 1
? date[k] : ("00" + date[k]).substr(("" + date[k]).length));
}
}
return format;
}
console.log(newDate.format('yyyy-MM-dd h:m:s'));
后面一种直接是设置prototype来做格式的转换。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
使用JQUERY如何实现多个AJAX请求
使用js如何实现焦点图效果
在微信小程序中如何实现图片懒加载
在NodeJs中如何使用form-data格式传输文件
使用vue-cli如何配置接口代理

使用js如何实现时间戳与日期格式之间转换

这篇文章主要为大家详细介绍了js时间戳与日期格式之间转换,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实码亮培例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下
将时间戳转换为日期格式
var date = new Date(时键颤间戳);获取一个时间对象。
下面是获取时间日期的方法
下面是获取时间日期的方法。
date.getFullYear();//获取完整的年份(4位,1970)
date.getMonth();//获取月份(0-11,0代表1月,用的时候记得加上1)
date.getDate();//获取日(1-31)
date.getTime();//获取时间(从1970.1.1开始的毫秒数)
date.getHours();//获取小时数(0-23)
date.getMinutes();//获取分钟数(0-59)
date.getSeconds();//获取秒数(0-59)比如我需要 2015-8-24_8-24-30这样的格式
function formatDate(datetime) {
var year = datetime.getFullYear(),
month = (datetime.getMonth() + 1 < 10) ? '0' + (datetime.getMonth() + 1):datetime.getMonth() + 1,
day = datetime.getDate() < 10 ? '0' + datetime.getDate() : datetime.getDate(),
hour = datetime.getHours() < 10 ? '0' + datetime.getHours() : datetime.getHours(),
min = datetime.getMinutes() < 10 ? '0' + datetime.getMinutes() : datetime.getMinutes(),
sec = datetime.getSeconds() < 10 ? '0' + datetime.getSeconds() : datetime.getSeconds();
return year + '-' + month + '-' + day + '_' + hour + '-' + min + '-' + sec;
}这里datatime是Date对象,格式化 datetime = new Date(time); time是时间戳。
将日期格式转换为时间戳
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime);
//传入一个时间格式,如果不传入就是获取现在的时间了,这样做不兼容火狐。
// 可以这样做
var arr = strtime.replace(/ :/g, '-').split('-');
date = new Date(Date.UTC(arr[1], arr[2], arr[3], arr[4], arr[5]));
//三种方式获取:
time1 = date.getTime();
time2 = date.valueOf();
time3 = Date.parse(date);
//三种获取的区别:
第一、第二种:会精确到毫秒
第三种:只能精确到秒,毫秒将用0来代替
比如上面代码输出的结果(一眼就迟唯能看出区别):
1398250549123
1398250549123
1398250549000上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在vue组件中如何使用iframe元素
使用vue如何实现nav导航栏
如何实现网页快报向上滚动

js时间戳如何转化为日期格式

js时间戳转换日期格式的方法:可以通过getTime方法获取时间戳再通过Date toLocaleString方法拍枯使其转换成相对应的日期格式
今天将要介绍的是在javascript中的时间戳如何转换成日期弊带格式,具有一定的参考价值,希望对大家有所帮助
【推荐课程:JavaScript教程】
js获取当前时间戳的方法
方法一:

var timestamp1 = Date.parse(new Date());
document.write(timestamp1);
这个方法将获取的时间戳把毫秒改成000显示
方法二:

var date = new Date('2019-03-01 13:22:49:123');
var time1 = date.getTime();
document.write(time1);
这个方法是获取当前毫秒的时间戳
如图所示
js把时袭卜洞间戳转为为普通日期格式
方法一:Date toLocaleString方法

function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}
document.write(getLocalTime(1551417769));
效果图:

方法二:

function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年月/g, "-").replace(/日/g, " ");
}
document.write(getLocalTime(1551417769));

效果图:

总结:

分享到 :
相关推荐

磁盘碎片整理怎么操作(电脑磁盘碎片整理怎么操作)

电脑使用时间久了。会变慢变卡。这是每个使用者都会遇到的问题。我之前的文章中有介绍过一...

路由懒加载和动态路由的区别(rip动态路由配置命令)

1、路由懒加载和动态路由的区别路由懒加载和动态路由是前端开发中常用的两种技术,它们[...

img标签图片大小设置

大家好,今天来介绍img标签图片大小设置(如何改变图片大小kb)的问题,以下是渲大师...

isna函数的使用方法(IFNA结合VLOOKUP函数运用)

1、isna函数的使用方法isna函数的使用方法isna函数是一个在数据分析和处[&...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注