在jQuery格式化日期 [英] Format date in jQuery
问题描述
var date = "Fri Jan 29 2012 06:12:00 GMT+0100";
我如何以格式显示此格式 2012-01-29 06:12 ?
在PHP中是函数 - >格式。在Javascript也是格式,但如果我尝试使用这个,那么我有错误:
How can i show this in format 2012-01-29 06:12 ? In PHP is function ->format. In Javascript is also format, but if i try use this then i have error:
now.format不是一个功能
var now = new Date();
console.log(now.format("isoDateTime"));
我想收到格式: 2012-01-29 06:12
推荐答案
这个问题是重复的(见:如何在jquery中获取当前日期)。
This question is a duplicate (see: How to get current date in jquery?).
通过修改我的解决方案从另一个问题,我得到:
By modifying my solution from the other question, I got:
var d = new Date();
var month = d.getMonth()+1;
var day = d.getDate();
var hour = d.getHours();
var minute = d.getMinutes();
var second = d.getSeconds();
var output = d.getFullYear() + '-' +
((''+month).length<2 ? '0' : '') + month + '-' +
((''+day).length<2 ? '0' : '') + day + ' ' +
((''+hour).length<2 ? '0' :'') + hour + ':' +
((''+minute).length<2 ? '0' :'') + minute + ':' +
((''+second).length<2 ? '0' :'') + second;
看到这个jsfiddle的证明: http://jsfiddle.net/nCE9u/3/
See this jsfiddle for a proof: http://jsfiddle.net/nCE9u/3/
您还可以将其包含在函数中(演示如下: http://jsfiddle.net/nCE9u/4/ ):
You can also enclose it within function (demo is here: http://jsfiddle.net/nCE9u/4/):
function getISODateTime(d){
// padding function
var s = function(a,b){return(1e15+a+"").slice(-b)};
// default date parameter
if (typeof d === 'undefined'){
d = new Date();
};
// return ISO datetime
return d.getFullYear() + '-' +
s(d.getMonth()+1,2) + '-' +
s(d.getDate(),2) + ' ' +
s(d.getHours(),2) + ':' +
s(d.getMinutes(),2) + ':' +
s(d.getSeconds(),2);
}
并使用它:
getISODateTime(new Date());
或:
getISODateTime(some_other_date);
编辑:我已经对功能添加了一些改进, Ates Goral(也降低了可读性,有利于代码评论)。
I have added some improvement to the function, as proposed by Ates Goral (also decreased its readability in favour of code comments).
这篇关于在jQuery格式化日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!