
你好,
两个时间戳比较简单,new两个当前Date对象,将时、分,分别设置为零点和23:59分,再getTime就可以了。只接代码:
var zero = new Date();var eleven = new Date();
zerosetHours(0);
zerosetMinutes(0);
zerosetSeconds(0);
elevensetHours(23);
elevensetMinutes(59);
elevensetSeconds(0);
consolelog('今天零点:' + zerogetTime());
consolelog('23:59:' + elevengetTime());
希望解决了你的问题,如有疑问可追问!
一js将时间转换成时间戳
1js获取当前时间戳的方法
var timestamp1 = Dateparse(new Date());
var timestamp2 = (new Date())valueOf();
var timestamp3 = new Date()getTime();
第一种:获取的时间戳是把毫秒改成000显示,第二种和第三种是获取了当前毫秒的时间戳。
2js获取制定时间戳的方法
var oldTime = (new Date("2015/06/23 08:00:20"))getTime()/1000;
getTime()返回数值的单位是毫秒。
二js把时间戳转为为普通日期格式
1Date toLocaleString方法
function getLocalTime(nS) {
return new Date(parseInt(nS) 1000)toLocaleString()replace(/:\d{1,2}$/,' ');
}
parseInt() 函数可解析一个字符串,并返回一个整数。
js中时间 *** 作单位是毫秒。
toLocaleString() 方法可根据本地时间把 Date 对象转换为字符串,并返回结果。
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
replace(/:\d{1,2}$/,' ')验证替换以:开始有一位或二位数字的结束字符串,就是秒;替换为空
显示如下:
所以我们可以利用正则表达式改变我们想要的日期格式。
2Date 属性方法
function add0(m){return m<10'0'+m:m }
function format(shijianchuo)
{
//shijianchuo是整数,否则要parseInt转换
var time = new Date(shijianchuo);
var y = timegetFullYear();
var m = timegetMonth()+1;
var d = timegetDate();
var h = timegetHours();
var mm = timegetMinutes();
var s = timegetSeconds();
return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
}
三封装的时间格式器
/
和PHP一样的时间戳格式化函数
@param {string} format 格式
@param {int} timestamp 要格式化的时间 默认为当前时间
@return {string} 格式化的时间字符串
/
function date(format, timestamp){
var a, jsdate=((timestamp) new Date(timestamp1000) : new Date());
var pad = function(n, c){
if((n = n + "")length < c){
return new Array(++c - nlength)join("0") + n;
} else {
return n;
}
};
var txt_weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
var txt_ordin = {1:"st", 2:"nd", 3:"rd", 21:"st", 22:"nd", 23:"rd", 31:"st"};
var txt_months = ["", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var f = {
// Day
d: function(){return pad(fj(), 2)},
D: function(){return fl()substr(0,3)},
j: function(){return jsdategetDate()},
l: function(){return txt_weekdays[fw()]},
N: function(){return fw() + 1},
S: function(){return txt_ordin[fj()] txt_ordin[fj()] : 'th'},
w: function(){return jsdategetDay()},
z: function(){return (jsdate - new Date(jsdategetFullYear() + "/1/1")) / 864e5 >> 0},
// Week
W: function(){
var a = fz(), b = 364 + fL() - a;
var nd2, nd = (new Date(jsdategetFullYear() + "/1/1")getDay() || 7) - 1;
if(b <= 2 && ((jsdategetDay() || 7) - 1) <= 2 - b){
return 1;
} else{
if(a <= 2 && nd >= 4 && a >= (6 - nd)){
nd2 = new Date(jsdategetFullYear() - 1 + "/12/31");
return date("W", Mathround(nd2getTime()/1000));
} else{
return (1 + (nd <= 3 ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);
}
}
},
// Month
F: function(){return txt_months[fn()]},
m: function(){return pad(fn(), 2)},
M: function(){return fF()substr(0,3)},
n: function(){return jsdategetMonth() + 1},
t: function(){
var n;
if( (n = jsdategetMonth() + 1) == 2 ){
return 28 + fL();
} else{
if( n & 1 && n < 8 || !(n & 1) && n > 7 ){
return 31;
} else{
return 30;
}
}
},
// Year
L: function(){var y = fY();return (!(y & 3) && (y % 1e2 || !(y % 4e2))) 1 : 0},
//o not supported yet
Y: function(){return jsdategetFullYear()},
y: function(){return (jsdategetFullYear() + "")slice(2)},
// Time
a: function(){return jsdategetHours() > 11 "pm" : "am"},
A: function(){return fa()toUpperCase()},
B: function(){
// peter paul koch:
var off = (jsdategetTimezoneOffset() + 60)60;
var theSeconds = (jsdategetHours() 3600) + (jsdategetMinutes() 60) + jsdategetSeconds() + off;
var beat = Mathfloor(theSeconds/864);
if (beat > 1000) beat -= 1000;
if (beat < 0) beat += 1000;
if ((String(beat))length == 1) beat = "00"+beat;
if ((String(beat))length == 2) beat = "0"+beat;
return beat;
},
g: function(){return jsdategetHours() % 12 || 12},
G: function(){return jsdategetHours()},
h: function(){return pad(fg(), 2)},
H: function(){return pad(jsdategetHours(), 2)},
i: function(){return pad(jsdategetMinutes(), 2)},
s: function(){return pad(jsdategetSeconds(), 2)},
//u not supported yet
// Timezone
//e not supported yet
//I not supported yet
O: function(){
var t = pad(Mathabs(jsdategetTimezoneOffset()/60100), 4);
if (jsdategetTimezoneOffset() > 0) t = "-" + t; else t = "+" + t;
return t;
},
P: function(){var O = fO();return (Osubstr(0, 3) + ":" + Osubstr(3, 2))},
//T not supported yet
//Z not supported yet
// Full Date/Time
c: function(){return fY() + "-" + fm() + "-" + fd() + "T" + fh() + ":" + fi() + ":" + fs() + fP()},
//r not supported yet
U: function(){return Mathround(jsdategetTime()/1000)}
};
return formatreplace(/[\]([a-zA-Z])/g, function(t, s){
if( t!=s ){
// escaped
ret = s;
} else if( f[s] ){
// a date function exists
ret = f[s]();
} else{
// nothing special
ret = s;
}
return ret;
});
}
调用方法 能够很方便的将时间戳转换成日期的格式,如:
date('Y-m-d','1350052653');//很方便的将时间戳转换成了2012-10-11
date('Y-m-d H:i:s','1350052653');//得到的结果是2012-10-12 22:37:33
将日期格式转换成时间戳:
//
也很简单
date
=
new
Date('2014-04-23
18:55:49:123');
//传入一个时间格式,如果不传入就是获取现在的时间了,就这么简单。
//
有三种方式获取
time1
=
dategetTime()
time2
=
datevalueOf()
time3
=
Dateparse(date)
//
三种获取的区别
第一、第二种:会精确到
第三种:只能精确到秒,将用0来代替
//
比如上面代码输出的结果(一眼就能看出区别):
//
1398250549123
//
1398250549123
//
1398250549000
// 计算两个时间戳相差的多少年多少月多少天
calculateDiffTime() {
let startTime = '1629107469000' //2021-08-16 17:51
let endTime = '1976262719000' //2032-08-16 17:51
let flag = [1, 3, 5, 7, 8, 10, 12, 4, 6, 9, 11, 2];
let start = new Date(startTime);
let end = new Date(endTime);
let year = endgetFullYear() - startgetFullYear();
let month = endgetMonth() - startgetMonth();
let day = endgetDate() - startgetDate();
if (month < 0) {
year--;
month = endgetMonth() + (12 - startgetMonth());
}
if (day < 0) {
month--;
let index = flagfindIndex((temp) => {
return temp === startgetMonth() + 1
});
let monthLength;
if (index <= 6) {
monthLength = 31;
} else if (index > 6 && index <= 10) {
monthLength = 30;
} else {
monthLength = 28;
}
day = endgetDate() + (monthLength - startgetDate());
}
thisresult = `相差${year}年${month}月${day}天`;
consolelog(thisresult)
}
# 计算两个时间戳相差的多少年多少月多少天多少小时多少分多少秒(另一种写法)
//计算两个时间戳相差的多少年多少月多少天多少小时多少分多少秒
calculateDiffTime (){
let startTime = '1629107469000' //2021-08-16 17:51
let endTime = '1976262719000' //2032-08-16 17:51
let runTime = parseInt((endTime - startTime) / 1000);
var year = Mathfloor(runTime / 86400 / 365);
runTime = runTime % (86400 365);
var month = Mathfloor(runTime / 86400 / 30);
runTime = runTime % (86400 30);
var day = Mathfloor(runTime / 86400);
runTime = runTime % 86400;
var hour = Mathfloor(runTime / 3600);
runTime = runTime % 3600;
var minute = Mathfloor(runTime / 60);
runTime = runTime % 60;
var second = runTime;
consolelog(`相差${year}年${month}月${day}天${hour}小时${minute}分${second}秒`);
return year+','+month+','+day+','+hour+','+minute+','+second;
}
// npm i moment
moment()startOf('day')// 当天零点
moment()subtract(1,'days')startOf('day')// 昨天零点
还有你这为啥过1秒才叫零点?
1、new Date(new Date()toLocaleDateString())getTime(),没有 24:00:00 只有23:59:59 加一秒就到 0:00:00 所以别纠结24:00:00。
2、具体步骤:
1)方法一:获取当前时间的Date对象、或者将指定日期时间字符串转换为Date对象,再将Date对象的时、分、秒、毫秒设置为0,再使用getTime()获取时间戳即可。
2)方法二:拼接“2020/10/10”标准格式的日期字符串,“2020/10/10”相当于“2020/10/10 00:00:00”。
3)对于"2012/10/10"格式,不要尝试通过toLocaleDateString()方法获得,toLocaleDateString()函数返回的是基于区域语言设置日期格式,不同电脑返回的格式是有差异的,不同浏览器返回的格式也有差异。也不要用toISOString()方法获得再去提取,toISOString()是基于GMT/UTC时区的,而我们是东八区。
以上就是关于js中生成今天零点到今天23:59的两个时间戳的代码全部的内容,包括:js中生成今天零点到今天23:59的两个时间戳的代码、js时间戳怎么转成日期格式、js中怎么样时间格式转成时间戳等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)