JS 时间戳问题?

JS 时间戳问题?,第1张

在js中,可以对两个时间戳进行相减,使用if语句判断结果,从而实现时间戳的比较。具体步骤如下:

1、在testhtml文件内,命名为testhtml,用于讲解js时间戳怎么比较。

2、在testhtml文件内,在js标签内创建一个pan()函数,函数有两个参数,分别st1,st2。

3、在pan()函数内,分别将两个时间使用new Date()转换为时间对象,保存在t1,t2变量中。

4、在pan()函数内,将两个时间对象分别利用getTime()方法转换为时间戳,分别保存在变量tt1,tt2变量中。

5、在pan()函数内,将两个时间戳相减,差值保存在res变量中。

6、在pan()函数内,使用if语句对res进行判断,如果res等于0,提示“两个时间相等”,如果res大于0,提示“t1时间大于t2时间”,如果不符合上面两种情况,则提示“t2时间大于t1时间”。

7、在pan()函数外,创建两个时间变量,并调用pan()函数进行判断。

8、在浏览器打开testhtml文件,查看判断的结果。

在取时间这个角度上面,js依托于浏览器、浏览器依托于 *** 作系统,所以只能够拿到当前 *** 作系统的时间日期来做对比,修改计算机系统时间会把浏览器给骗了的:

获取客户端系统时间:var date = new Date();

date中的方法:

dategetFullYear(); 获取年份:4位整数。

dategetMonth(); 获取月份的下标:如当前月份为Oct 获取到的值为:9。

dategetDate(); 获取当月的日期:如今天是19日,获取到的值为:19。

更详细的内容请查看http://wwww3schoolcomcn/js/jsref_obj_dateasp

function getPastHalfYear() {

// 先获取当前时间

var curDate = (new Date())getTime();

// 将半年的时间单位换算成毫秒

var halfYear = 365 / 2  24  3600  1000;

var pastResult = curDate - halfYear;  // 半年前的时间(毫秒单位)

// 日期函数,定义起点为半年前

var pastDate = new Date(pastResult),

pastYear = pastDategetFullYear(),

pastMonth = pastDategetMonth() + 1,

pastDay = pastDategetDate();

return pastYear + '-' + pastMonth + '-' + pastDay;

}

consolelog('半年前是:' + getPastHalfYear());

一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

你要获取dategetHours() dategetMinutes() 其实很简单的。

先在后台使然后在页用requestsetAttributer("date", date);将其保存。

然后在页面上使用EL表达式获取

${requestScopedatehours}

${requestScopedateminutes}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/11666436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存