如何在JavaScript中获取当前日期?


当前回答

要获取日期,则将其内置到JavaScript中:

new Date();

如果您正在寻找日期格式,并且无论如何都在为您的网站使用Kendo jQuery UI库,那么我建议使用内置的Kendo函数:

kendo.toString(new Date(), "yyMMdd"); // Or any other typical date format

有关支持格式的完整列表,请参阅此处。

其他回答

我的解决方案使用字符串文字。了解更多信息。。。

//声明日期为dvar d=新日期()//日期的内联格式const exampleOne=`${d.getDay()}-${d.getMonth()+1}-${d.getFullYear()}`//一月为0,因此需要+1//使用特征线和运算符常量示例二=`+++++++++++带换行符和算术运算符示例新行上的年份:${d.getFullYear()}年份减(-)30年:${d.getFullYear()-30}你明白了。。。+++++++++++`console.log('============')console.log(示例一)console.log('============')console.log(示例二)

如果您对YYYY-MM-DD格式感到满意,这也可以完成这项工作。

new Date().toISOString().split('T')[0]

2018-03-10

您可以使用扩展Date对象的Date.js库,因此可以使用.today()方法。

最新编辑: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]会给你一天的时间。

var dateTimeToday = new Date();
var dateToday = new Date(
    dateTimeToday.getFullYear(), 
    (dateTimeToday.getMonth() + 1) /*Jan = 0! */, 
    dateTimeToday.getDate(), 
    0, 
    0, 
    0, 
    0);