如何在JavaScript中获取当前日期?
当前回答
如果您想要对日期格式进行更精细的控制,我强烈建议您查看momentjs。非常棒的图书馆-只有5KB。http://momentjs.com/
其他回答
您可能希望自动检索浏览器的区域设置名称,并将其作为toLocaleString()的第一个参数传递,以便传递其他选项:
//获取区域设置名称函数getLang(){if(navigator.languages!=未定义)返回navigator.languages[0];返回navigator.language;}//获取格式为yyyy-MM-ddThmmss的当前日期时间const time=new Date().toLocaleString(getLang(){小时12:假,年份:'数字',月份:'2-位',天:'2位数',小时:“数字”,minute:“数字”,第二个:“数字”}).replaceAll(“/”,“-”).replaceAll(“:”,“”).replace All(“”,“T”)console.log(“locale:”,getLang())console.log(时间)
结果可能如下:
locale: zh-TW
2022-09-13T171642
当您更改浏览器的区域设置时,时间和日期(如果需要)也会更改。
使用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 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\来转义字符。
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”
试用Date.js
毫秒
date.js.millisecond(); // 0.00
秒
date.js.second(); // 58
分钟
date.js.minute(); // 31
小时
date.js.hour(); // 6 (PM)
Days
date.js.day(); // Monday
周
date.js.week(); // (Week Of the Month / WOM) => 2
月
date.js.month(); // (Month) => November
TLM(三字母月)
date.js.tlmonth(); // (Month) => Dec
Year
date.js.year(); // (Year / String: "") => "2021"
季
date.js.season(); // (Fall / Season: seasons) => "fall"
当前时间(AM/PM)
date.js.time(); // (Time / Zone: "PDT/EDT etc.") => 10:04 AM
推荐文章
- jQuery等价于JavaScript的addEventListener方法
- jQuery需要避免的陷阱
- JavaScript中变量字符串的XML解析
- 'React'指的是一个UMD全局,但当前文件是一个模块
- 为什么useState不触发重新渲染?
- 如何使用回调与useState挂钩在反应
- 网络请求失败
- 如何使用JavaScript大写字符串中每个单词的第一个字母?
- 如何使用箭头函数(公共类字段)作为类方法?
- 使用Javascript的atob解码base64不能正确解码utf-8字符串
- 如何阻止恶意代码欺骗“Origin”报头来利用CORS?
- Angular JS:当我们已经有了具有作用域的指令控制器时,指令的link函数还需要什么?
- 我如何在JavaScript中转换对象数组为一个对象?
- 如何让一个按钮将我的页面重定向到另一个页面?
- 如何让元素被点击(对于整个文档)?