如何在JavaScript中获取当前日期?
当前回答
var dateTimeToday = new Date();
var dateToday = new Date(
dateTimeToday.getFullYear(),
(dateTimeToday.getMonth() + 1) /*Jan = 0! */,
dateTimeToday.getDate(),
0,
0,
0,
0);
其他回答
// Try this simple way
const today = new Date();
let date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
console.log(date);
如果您想要一个简单的DD/MM/YYYY格式,我刚刚提出了这个简单的解决方案,尽管它没有前缀缺失的零。
var d=新日期();document.write([d.getDate(),d.getMonth()+1,d.getFullYear()].join('/'));
基础知识
如果您对2016年1月24日星期日21:23:07 GMT+0100(CET)格式感到满意,您可以使用以下代码:
var today = new Date();
Date.product.toLocaleDateString()
如果要格式化输出,请考虑使用Date.protype.toLocaleDateString():
var today = new Date().toLocaleDateString('de-DE', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
});
如果您今天(1月24日)执行了该代码ᵗʰ,2016),它将产生字符串Sonntag,24。2016年1月。但是,较旧的浏览器可能会产生不同的结果,例如IE<11不支持区域设置或选项参数。
正在自定义
如果Date.product.toLocaleDateString()不够灵活,无法满足您可能需要的任何需求,您可能需要考虑创建一个自定义Date对象,如下所示:
var DateObject = (function() {
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
var date = function(str) {
this.set(str);
};
date.prototype = {
set : function(str) {
var dateDef = str ? new Date(str) : new Date();
this.day = dateDef.getDate();
this.dayPadded = (this.day < 10) ? ("0" + this.day) : "" + this.day;
this.month = dateDef.getMonth() + 1;
this.monthPadded = (this.month < 10) ? ("0" + this.month) : "" + this.month;
this.monthName = monthNames[this.month - 1];
this.year = dateDef.getFullYear();
}
};
return date;
})();
如果您今天(1月24日)包含了该代码并执行了新的DateObject()ᵗʰ,2016),它将生成具有以下财产的对象:
day: 24
dayPadded: "24"
month: 1
monthPadded: "01"
monthName: "January"
year: 2016
var d=(new Date()).toString().split('').spling(1,3).join('');文档.写入(d)
要将其分解为步骤:
(new Date()).toString()给出“2013年6月28日星期五15:30:18 GMT-0700(PDT)”(new Date()).toString().split(“”)将上述字符串除以每个空格,并返回一个数组,如下所示:[“Fri”,“Jun”,”28“,”2013“,”15:31:14“,”GMT-0700“,”(PDT)“](new Date()).toString().split('').spling(1,3).join('')从上述数组中获取第二、第三和第四个值,用空格将它们连接起来,并返回字符串“Jun 28 2013”
更清洁、更简单的版本:
new Date().toLocaleString();
结果因用户的语言环境而异:
2017年2月27日上午9:15:41
推荐文章
- 如何使用Jest测试对象键和值是否相等?
- 将长模板文字行换行为多行,而无需在字符串中创建新行
- 如何在JavaScript中映射/减少/过滤一个集?
- Bower: ENOGIT Git未安装或不在PATH中
- 添加javascript选项选择
- 在Node.js中克隆对象
- 为什么在JavaScript的Date构造函数中month参数的范围从0到11 ?
- 使用JavaScript更改URL参数并指定默认值
- 在window.setTimeout()发生之前取消/终止
- 如何删除未定义和空值从一个对象使用lodash?
- 检测当用户滚动到底部的div与jQuery
- 在JavaScript中检查字符串包含另一个子字符串的最快方法?
- 检测视口方向,如果方向是纵向显示警告消息通知用户的指示
- ASP。NET MVC 3 Razor:在head标签中包含JavaScript文件
- 禁用从HTML页面中拖动图像