html用jq时间戳转换成时间,时间戳转换成时间js函数

这篇博客详细介绍了如何使用JavaScript编写一个函数,将时间戳转换为指定的日期格式(如年-月-日,时:分:秒),并展示了完整的函数实现和示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据时间戳及想要的时间格式装换出时间的js函数

使用效果date("Y-m-d",1543920494) 2018-12-04

date("Y-m-d H:i:s",1543920494) 2018-12-04 18:48:14

功能代码function date(format, timestamp) {

var a, jsdate = ((timestamp) ? new Date(timestamp * 1000) : new Date());

var pad = function (n, c) {

if ((n = n + "").length < c) {

return new Array(++c - n.length).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(f.j(), 2) },

D: function () { return f.l().substr(0, 3) },

j: function () { return jsdate.getDate() },

l: function () { return txt_weekdays[f.w()] },

N: function () { return f.w() + 1 },

S: function () { return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th' },

w: function () { return jsdate.getDay() },

z: function () { return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0 },

// Week

W: function () {

var a = f.z(), b = 364 + f.L() - a;

var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7) - 1;

if (b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b) {

return 1;

} else {

if (a <= 2 && nd >= 4 && a >= (6 - nd)) {

nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31");

return date("W", Math.round(nd2.getTime() / 1000));

} else {

return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);

}

}

},

// Month

F: function () { return txt_months[f.n()] },

m: function () { return pad(f.n(), 2) },

M: function () { return f.F().substr(0, 3) },

n: function () { return jsdate.getMonth() + 1 },

t: function () {

var n;

if ((n = jsdate.getMonth() + 1) == 2) {

return 28 + f.L();

} else {

if (n & 1 && n < 8 || !(n & 1) && n > 7) {

return 31;

} else {

return 30;

}

}

},

// Year

L: function () { var y = f.Y(); return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0 },

//o not supported yet

Y: function () { return jsdate.getFullYear() },

y: function () { return (jsdate.getFullYear() + "").slice(2) },

// Time

a: function () { return jsdate.getHours() > 11 ? "pm" : "am" },

A: function () { return f.a().toUpperCase() },

B: function () {

// peter paul koch:

var off = (jsdate.getTimezoneOffset() + 60) * 60;

var theSeconds = (jsdate.getHours() * 3600) + (jsdate.getMinutes() * 60) + jsdate.getSeconds() + off;

var beat = Math.floor(theSeconds / 86.4);

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 jsdate.getHours() % 12 || 12 },

G: function () { return jsdate.getHours() },

h: function () { return pad(f.g(), 2) },

H: function () { return pad(jsdate.getHours(), 2) },

i: function () { return pad(jsdate.getMinutes(), 2) },

s: function () { return pad(jsdate.getSeconds(), 2) },

//u not supported yet

// Timezone

//e not supported yet

//I not supported yet

O: function () {

var t = pad(Math.abs(jsdate.getTimezoneOffset() / 60 * 100), 4);

if (jsdate.getTimezoneOffset() > 0) t = "-" + t; else t = "+" + t;

return t;

},

P: function () { var O = f.O(); return (O.substr(0, 3) + ":" + O.substr(3, 2)) },

//T not supported yet

//Z not supported yet

// Full Date/Time

c: function () { return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":" + f.i() + ":" + f.s() + f.P() },

//r not supported yet

U: function () { return Math.round(jsdate.getTime() / 1000) }

};

return format.replace(/[\\]?([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;

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值