如何在JavaScript中获取当前日期?
当前回答
您可以使用moment.js:http://momentjs.com/
var m=moment().格式(“DD/MM/YYYY”);文件.写入(m);<script src=“https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js“></script>
其他回答
var date = new Date().toLocaleDateString("en-US");
此外,您可以使用两个参数调用方法toLocaleDateString:
var date = new Date().toLocaleDateString("en-US", {
"year": "numeric",
"month": "numeric"
});
有关MDN上此方法的详细信息。
最新编辑:2019年8月23日date fns库的工作方式与moment.js非常相似,但占用空间要小得多。它可以让您快速选择要包含在项目中的函数,这样您就不必编译整个库来格式化今天的日期。如果您的项目不能选择最小的第三方库,我支持塞缪尔·梅多斯(Samuel Meddows)的公认解决方案。
保存下面的历史,因为它帮助了一些人。但从记录上看,它相当粗糙,很容易在没有警告的情况下被打破,这篇文章中的大多数解决方案也是如此
编辑2017年7月2日单行JS解决方案:
tl;博士var todaysDate=新日期(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i)?new Date(Date.now()).toLocaleString().split(“”)[0].splite(',')[0]:新日期(Date.nnow()).ToLocaleSstring().spit(“')[1]+“”+新日期(Date.now(”).toLocal eString).splite“”)[2]+“”+new日期(Date:now().toLocaleString;edge,ff最新,&chrome返回todaysDate=“2/7/2017”“works”*在IE10中+
解释
我发现IE10和IE Edge的做法有点不同。。想想看吧以new Date(Date.now()).toLocaleString()作为输入,
IE10返回:
"Tuesday, February 07, 2017 2:58:25 PM"
我可以写一个大的长函数和FTFY。但你真的应该用moment.js来做这些。我的脚本只是清理了这一点,并为您提供了扩展的传统美国符号:>todaysDate=“2017年3月6日”
IE EDGE返回:
"2/7/2017 2:59:27 PM"
当然,这不可能那么容易。Edge的日期字符串在每个可见字符串之间都有不可见的“•”字符。因此,我们现在不仅要检查第一个字符是否是数字,还要检查前3个字符,因为事实证明,整个日期范围内的任何一个字符最终都会在某个点上是点或斜线。所以为了保持简单,只需.slice()开头的三个字符(针对未来恶作剧的小缓冲区),然后检查数字。应该注意的是,这些不可见的点可能会在代码中持续存在。如果你有更大的计划,而不仅仅是将这个字符串打印到你的视图中,我可能会深入研究。
⑪更新了一个衬垫:
var todaysDate = new Date(Date.now()).toLocaleString().slice(0,3).match(/[0-9]/i) ? new Date(Date.now()).toLocaleString().split(' ')[0].split(',')[0] : new Date(Date.now()).toLocaleString().split(' ')[1] + " " + new Date(Date.now()).toLocaleString().split(' ')[2] + " " + new Date(Date.now()).toLocaleString().split(' ')[3];
读起来很糟糕。怎么样:
var dateString = new Date(Date.now()).toLocaleString();
var todaysDate = dateString.slice(0,3).match(/[0-9]/i) ? dateString.split(' ')[0].split(',')[0] : dateString.split(' ')[1] + " " + dateString.split(' ')[2] + " " + dateString.split(' ')[3];
原始答案
我给你准备了一个单行本:
new Date(Date.now()).toLocaleString().split(', ')[0];
[1]会给你一天的时间。
基础知识
如果您对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
你可以用这个
<script>
function my_curr_date() {
var currentDate = new Date()
var day = currentDate.getDate();
var month = currentDate.getMonth() + 1;
var year = currentDate.getFullYear();
var my_date = month+"-"+day+"-"+year;
document.getElementById("dateField").value=my_date;
}
</script>
HTML是
<body onload='return my_curr_date();'>
<input type='text' name='dateField' id='dateField' value='' />
</body>
您可以签出此
var today = new Date();
today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
document.write(today);
请参阅Date()构造函数的文档。链接
在React js中获取当前日期月年
推荐文章
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?
- 谷歌chrome扩展::console.log()从后台页面?
- 未捕获的SyntaxError:
- [].slice的解释。调用javascript?
- jQuery日期/时间选择器
- 我如何预填充一个jQuery Datepicker文本框与今天的日期?
- 数组的indexOf函数和findIndex函数的区别
- jQuery添加必要的输入字段
- Access-Control-Allow-Origin不允许Origin < Origin >