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


当前回答

最短的答案是:new Date().toJSON().slice(0,10)

其他回答

已更新!,向下滚动

如果你想让最终用户觉得简单漂亮。。。此外,在下面的第一个版本中修复了一个小后缀问题。现在正确返回后缀。

var objToday=新日期(),工作日=新阵列(‘星期一’、‘星期一”、‘星期二’、‘周三’、‘周四’、‘周五’、‘周六’),dayOfWeek=工作日[objToday.getDay()],domEnder=function(){var a=objToday;if(/1/.test(parseInt((a+“”).charAt(0))))返回“th”;a=parseInt((a+“”).charAt(1));返回1==a?“st”:2=a?“nd”:3==a?”rd“:”th“}(),dayOfMonth=今天+(objToday.getDate()<10)?'0’+objToday.getDate()+domEnder:objToday.getData()+domEnder,months=新阵列(“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”),curMonth=月[objToday.getMonth()],curYear=objToday.getFullYear(),curHour=objToday.getHours()>12?objToday.getHours()-12:(objToday.getHoures()<10?“0”+objToday.getHours():objToday.getHoures()),curMinute=objToday.getMinutes()<10?“0”+objToday.getMinutes():objToday.getMinute(),curSeconds=objToday.getSeconds()<10?“0”+objToday.getSeconds():objToday.getSecond(),curMeridiem=objToday.getHours()>12?“下午”:“上午”;var today=curHour+“:”+curMinute+“.”+curSeconds+curMeridiem+“”+dayOfWeek+“”+dayOfMonth+“of”+curMonth+“,”+curYear;document.getElementsByTagName('1')[0].textContent=today;<h1></h1>

UBBER更新经过多次拖延,我终于在GitHubbed上更新了我自己使用的最终解决方案。它甚至在最后一刻做了一些编辑,让它更甜!如果你正在寻找旧的jsFiddle,请看这个。

这个更新有两种口味,虽然没有我上面的原始答案那么小,但仍然相对较小。如果你想要极小的尺寸,那就这样吧。另请注意:这仍然没有moment.js那么臃肿。虽然moment.jss很好,imo,但它有太多世俗的方法,需要像学习一种语言一样学习片刻。我这里使用与PHP相同的常见格式:date。

快速链接

日期.format.min.js 5.08 KBdateFormat.min.js 4.16 KB

风味1新日期().format(字符串)我的个人传真。我知道这个禁忌,但在约会对象上效果很好。只需注意日期对象可能具有的任何其他mod。

//  use as simple as
new Date().format('m-d-Y h:i:s');   //  07-06-2016 06:38:34

风味2日期格式(日期,字符串)更传统的一体化方法。具有上一个的所有功能,但通过带有Date参数的方法调用。

//  use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s');  //  07-06-2016 06:38:34

BONUS风味(需要jQuery)$.date(日期,字符串)这不仅仅包含一个简单的格式选项。它扩展了基础Date对象,并包括addDays等方法。有关更多信息,请参阅Git。

在这个mod中,格式字符的灵感来自PHP:date。有关完整列表,请参阅我的自述文件

这个mod还有一个长得多的预制格式列表。要使用预制格式,只需输入其密钥名称。dateFormat(new Date(),'pretty-a');

'化合物'“commonLogFormat”==“d/M/Y:G:i:s”“exif”==“Y:m:d G:i:s”“isoYearWeek”==“Y\\WW”“isoYearWeek2”==“Y-\\WW”“isoYearWeekDay”==“Y\\WWj”“isoYearWeekDay2”==“Y-\\WW-j”“mySQL”==“Y-m-d h:i:s”“postgreSQL”==“Y.z”'postgreSQL2'=='Yz''soap'=='Y-m-d\\TH:i:s.u'“soap2”==“Y-m-d\\TH:i:s.uP”“unixTimestamp”==“@U”'xmlrpc'=='Ymd\\TG:i:s''xmlrpcCompact'=='Ymd\\tGis'“wddx”==“Y-n-j\\TG:i:s”'常量'“美国”==“F j Y”“美洲海岸”==“m/d/Y”“美国时间”==“m/d/Y h:i:sA”“原子”==“Y-m-d\\TH:i:sP”“COOKIE”==“l d-M-Y H:i:s T”“欧洲”==“j F Y”“欧洲”==“d.m.Y”“欧洲时间”==“d.m.Y H:i:s”“ISO8601”==“Y-m-d\\TH:i:sO”“法律”==“j F Y”“RFC822”==“D D M y H:i:s O”“RFC850”==“l d-M-y H:i:s T”“RFC1036”==“D D M y H:i:s O”“RFC1123”==“D D M Y H:i:s O”“RFC2822”==“D D M Y H:i:s O”'RFC3339'=='Y-m-d\\TH:i:sP'“RSS”==“D D M Y H:i:s O”“W3C”==“Y-m-d\\TH:i:sP”“漂亮”“pretty-a”==“g:i.sA l jS\\o\\f f Y”“pretty-b”==“g:iA l jS\\o\\f f Y”'pretty-c'=='n/d/Y g:iA'“pretty-d”==“n/d/Y”'pretty-e'=='F jS-g:ia'“pretty-f”==“g:iA”

正如您可能注意到的,您可以使用double\来转义字符。


如果您只需要字符串表示,那么只需使用:

Date();

使用new Date()生成包含当前日期和时间的新Date对象。

var today=新日期();var dd=字符串(today.getDate()).padStart(2,'0');var mm=字符串(today.getMonth()+1).padStart(2,'0')//一月是0!var yyyy=today.getFullYear();今天=mm+'/'+dd+'/'+yyyy;document.write(今天);

这将以mm/dd/yyyy的格式显示今天的日期。

只需更改今天=mm+'/'+dd+'/'+yyyy;按照您希望的格式。

重要提示:不要使用:var today=new Date();

但是var dateToday=new Date();,例如,var今天没有表示任何内容。

如果您希望对日期格式进行更精细的控制,我强烈建议您查看日期FNS。

它是一个很棒的库,比Moment.js小得多。它是一种基于函数的方法,比其他基于类的库更快。它提供了迄今为止所需的大量操作。