通常,如果我想获取日期,我可以执行以下操作:
var d = new Date();
console.log(d);
问题在于,当我运行该代码时,它会返回:
Mon Aug 24 2015 4:20:00 GMT-0800 (Pacific Standard Time)
我如何使Date()方法返回一个"MM-DD-YYYY"格式的值,以便返回以下结果:
8/24/2015
或者,也可以是 MM-DD-YYYY H:M
8/24/2016 4:20
通常,如果我想获取日期,我可以执行以下操作:
var d = new Date();
console.log(d);
问题在于,当我运行该代码时,它会返回:
Mon Aug 24 2015 4:20:00 GMT-0800 (Pacific Standard Time)
我如何使Date()方法返回一个"MM-DD-YYYY"格式的值,以便返回以下结果:
8/24/2015
或者,也可以是 MM-DD-YYYY H:M
8/24/2016 4:20
.toISOString()
方法,例如:toISOString().split('T')[0]
。简单、干净,所有内容都在一行中。
var date = (new Date()).toISOString().split('T')[0];
document.getElementById('date').innerHTML = date;
<div id="date"></div>
convertDate()
函数,它将返回一个YYYY-MM-DD格式的字符串:var todaysDate = new Date();
function convertDate(date) {
var yyyy = date.getFullYear().toString();
var mm = (date.getMonth()+1).toString();
var dd = date.getDate().toString();
var mmChars = mm.split('');
var ddChars = dd.split('');
return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]);
}
console.log(convertDate(todaysDate)); // Returns: 2015-08-25
x < 10
比使用 .split
和 .toString
更加便宜。 - Paul S..toString()
? - rlatiefvar today = new Date().getFullYear()+'-'+("0"+(new Date().getMonth()+1)).slice(-2)+'-'+("0"+new Date().getDate()).slice(-2)
document.getElementById("today").innerHTML = today
<div id="today">
'YYYY-MM-DD' 的一行解决方案
new Date().toLocaleDateString("fr-CA", {year:"numeric", month: "2-digit", day:"2-digit"})
// 2023年除夕夜的输出:'2023-12-31'
new Date().toLocaleDateString("en-CA")
.. 你还可以指定一个时区,将日期更改为其他地方的本地日期,例如 new Date().toLocaleDateString("en-CA", { timeZone: "Australia/Sydney"})
。 - somvar datetime = new Date("2015-09-17 15:00:00");
datetime = moment(datetime).format("YYYY-MM-DD");
var today = new Date();
function formatDate(date) {
var dd = date.getDate();
var mm = date.getMonth() + 1; //January is 0!
var yyyy = date.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
//return dd + '/' + mm + '/' + yyyy;
return yyyy + '/' + mm + '/' +dd ;
}
console.log(formatDate(today));
function formatdate(userDate){
var omar= new Date(userDate);
y = omar.getFullYear().toString();
m = omar.getMonth().toString();
d = omar.getDate().toString();
omar=y+m+d;
return omar;
}
console.log(formatDate("12/31/2014"));
这将把 Unix 时间戳转换为本地日期(加时间)
function UnixTimeToLocalDate = function( unix_epoch_time )
{
var date,
str;
date = new Date( unix_epoch_time * 1000 );
str = date.getFullYear() + '-' +
(date.getMonth() + 1 + '').padStart( 2, '0' ) + '-' +
(date.getDate() + '').padStart( 2, '0' );
// If you need hh:mm:ss too then
str += ' ' +
(date.getHours() + '').padStart( 2, '0' ) + ':' +
(date.getMinutes() + '').padStart( 2, '0' ) + ':' +
(date.getSeconds() + '').padStart( 2, '0' );
return str;
}
Date
具有可生成所需输出的方法。var d = new Date();
console.log(d);
>>> Sun Jan 28 2018 08:28:04 GMT+0000 (GMT)
console.log(d.toLocaleDateString());
>>> 1/28/2018
console.log(d.toLocaleString());
>>> 1/28/2018, 8:28:04 AM
真的没有必要重复发明轮子。
d.toISOString().split('T')[0]
的意思是将日期对象d转换为ISO格式的字符串,并将其按照'T'字符拆分为两部分,然后返回第一部分(即只包含日期信息的部分)。 - Paul S.d.toLocaleDateString()
怎么样?这将给你与你第一个示例完全相同的结果。 - cezar