问:
想要改进这篇文章?提供这个问题的详细答案,包括引文和解释为什么你的答案是正确的。没有足够细节的答案可能会被编辑或删除。
答1:
使用 new Date() 生成包含当前日期和时间的新 Date 对象。
var 今天 = 新日期(); var dd = String(today.getDate()).padStart(2, ‘0’); var mm = String(today.getMonth() + 1).padStart(2, ‘0’); //一月是0! var yyyy = today.getFullYear();今天 = mm + ‘/’ + dd + ‘/’ + yyyy; document.write(今天);
只需将 today = mm +‘/’+ dd +‘/’+ yyyy; 更改为您希望的任何格式。
感谢您的代码.. 但我仍然不明白,是 if(dd<10){dd='0'+dd} ... 为什么 < 10?从我从代码中了解到的是,如果一天的字符小于 2,只需在一天的前面添加一个前面的 0 .. 但为什么是 10?
@imin:因为少于 2 个字符意味着 1 个字符......而 10(1 到 9)以下的所有内容都是 1 个字符,所以我们将有 01、02、...、09
@MounaCheikhna - 我们怎么会在 999 年?
新的 Date.prototype.toLocaleDateString() 方法是一种更灵活的解决方案。它是自 ECMAScript 5.1 以来 JavaScript 的一部分,并且得到了常青浏览器的良好支持。 MDN: toLocaleDateString()
答2:
var utc = new Date().toJSON().slice(0,10).replace(/-/g,‘/’); document.write(UTC);
如果您要重复使用 utc 变量(例如 new Date(utc)),请使用 replace 选项,因为 Firefox 和 Safari 无法识别带有破折号的日期。
我不这么认为:) 看起来很简单!
它返回一个 JSON 日期时间。 toUTCString() 作为 UTC 日期时间返回。
它不考虑 TimezoneOffset。在我测试的时候,我正在寻找“现在”,而我得到了“昨天”。 stackoverflow.com/questions/13646446/…
完美的。这是我在这里看到的最干净的方法。在 MomentJS 中适用于“今天,而不是现在”moment( new Date().toJSON().slice(0, 10) )
答3:
huntsbot.com精选全球7大洲远程工作机会,涵盖各领域,帮助想要远程工作的数字游民们能更精准、更高效的找到对方。
最短的可能。
要获得像“2018-08-03”这样的格式:
让今天 = new Date().toISOString().slice(0, 10) console.log(today)
要获得像“8/3/2018”这样的格式:
让今天 = new Date().toLocaleDateString() console.log(today)
此外,您可以将 locale 作为参数传递,例如 toLocaleDateString(“sr”) 等。
答4:
如果您想要对最终用户来说简单漂亮的东西… Also, fixed a small suffix issue in the first version below. Now properly returns suffix.
var objToday = new Date(), weekday = new Array(‘Sunday’, ‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’), dayOfWeek = weekday[objToday.getDay( )], domEnder = function() { var a = objToday; if (/1/.test(parseInt((a + “”).charAt(0)))) return “th”; a = parseInt((a + “”).charAt(1));返回 1 == 一个? “st”:2 == 一个? “nd”:3 == 一个? “rd” : “th” }(), dayOfMonth = today + (objToday.getDate() < 10) ? ‘0’ + objToday.getDate() + domEnder : objToday.getDate() + domEnder, 月 = new Array(‘一月’, ‘二月’, ‘三月’, ‘四月’, ‘五月’, ‘六月’, ‘七月’,‘八月’,‘九月’,‘十月’,‘十一月’,‘十二月’),curMonth = 月[objToday.getMonth()],curYear = objToday.getFullYear(),curHour = objToday.getHours() > 12 ? objToday.getHours() – 12 : (objToday.getHours() < 10 ? “0” + objToday.getHours() : objToday.getHours()), curMinute = objToday.getMinutes() < 10 ? “0” + objToday.getMinutes() : objToday.getMinutes(), curSeconds = objToday.getSeconds() < 10 ? “0” + objToday.getSeconds() : objToday.getSeconds(), curMeridiem = objToday.getHours() > 12 ? “下午”:“上午”; var today = curHour + “:” + curMinute + “.” + curSeconds + curMeridiem + ” ” + dayOfWeek + ” ” + dayOfMonth + ” of ” + curMonth + “, ” + curYear; document.getElementsByTagName(‘h1’)[0].textContent = 今天;
UBBER 更新经过长时间的拖延,我终于在 GitHubbed 上更新了这个,并用我自己使用的最终解决方案进行了更新。它甚至在最后一刻进行了一些编辑以使其更甜美!如果您正在寻找旧的 jsFiddle,请查看此内容。
此更新有 2 种风格,虽然没有我上面的原始答案那么小,但仍然相对较小。如果你想要非常小,那就去吧。 另请注意:这仍然没有 moment.js 臃肿。虽然 moment.js 很好,但 imo,它有太多世俗的方法,需要像学习语言一样学习 moment。我这里使用与 PHP: date 相同的通用格式。
风味 1 new Date().format(String) 我个人的最爱。我知道禁忌,但在日期对象上效果很好。请注意您对日期对象可能拥有的任何其他模块。
// use as simple as
new Date().format('m-d-Y h:i:s'); // 07-06-2016 06:38:34
Flavor 2 dateFormat(Date, String) 更传统的多合一方法。具有前一个的所有能力,但通过带有 Date 参数的方法调用。
// use as simple as
dateFormat(new Date(), 'm-d-Y h:i:s'); // 07-06-2016 06:38:34
BONUS Flavor (需要 jQuery) $.date(Date, String) 这不仅仅是一个简单的格式选项。它扩展了基本的 Date 对象并包括诸如 addDays 之类的方法。有关更多信息,请参阅 Git。
在这个 mod 中,格式字符的灵感来自 PHP: date。如需完整列表,请参阅我的README
这个模组还有更长的预制格式列表。要使用预制格式,只需输入其键名。 dateFormat(new Date(), ‘pretty-a’);
‘compound’ ‘commonLogFormat’ == ‘d/M/Y:G:i:s’ ‘exif’ == ‘YⓂ️d G:i:s’ ‘isoYearWeek’ == ‘YWW’ ’ isoYearWeek2’ == ‘Y-WW’ ‘isoYearWeekDay’ == ‘YWWj’ ‘isoYearWeekDay2’ == ‘Y-WW-j’ ‘mySQL’ == ‘Ymd h:i:s’ ’ postgreSQL’ == ‘Yz’ ‘postgreSQL2’ == ‘Yz’ ‘soap’ == ‘YmdTH:i:su’ ‘soap2’ == ‘YmdTH:i:s.uP’ ‘unixTimestamp’ == ‘@U’ ‘xmlrpc’ == ‘YmdTG:i:s’ ‘xmlrpcCompact’ == ‘YmdtGis’ ‘wddx’ == ‘YnjTG:i:s’
‘commonLogFormat’ == ‘d/M/Y:G:i:s’
‘exif’ == ‘YⓂ️d G:i:s’
‘isoYearWeek’ == ‘YWW’
‘isoYearWeek2’ == ‘Y-WW’
‘isoYearWeekDay’ == ‘YWWj’
‘isoYearWeekDay2’ == ‘Y-WW-j’
‘mySQL’ == ‘Ymd h:i:s’
‘postgreSQL’ == ‘Yz’
‘postgreSQL2’ == ‘Yz’
‘肥皂’ == ‘YmdTH:i:su’
‘wddx’ == ‘YnjTG:i:s’
‘常量’ ‘AMERICAN’ == ‘F j Y’ ‘AMERICANSHORT’ == ‘m/d/Y’ ‘AMERICANSHORTWTIME’ == ‘m/d/Y h:i:sA’ ‘ATOM’ == ‘Ymd TH:i:sP’ ‘COOKIE’ == ‘l dMY H:i:s T’ ‘EUROPEAN’ == ‘j F Y’ ‘EUROPEANSHORT’ == ‘dmY’ ‘EUROPEANSHORTWTIME’ == ‘dmY H:i: s’ ‘ISO8601’ == ‘YmdTH:i:sO’ ‘LEGAL’ == ‘j F Y’ ‘RFC822’ == ‘D d M y H:i:s O’ ‘RFC850’ == ‘l dMy H:i:s T’ ‘RFC1036’ == ‘D d M y H:i:s O’ ‘RFC1123’ == ‘D d MYH:i:s O’ ‘RFC2822’ == ‘D d MYH: i:s O’ ‘RFC3339’ == ‘YmdTH:i:sP’ ‘RSS’ == ‘D d MYH:i:s O’ ‘W3C’ == ‘YmdTH:i:sP’
‘美国’ == ‘F j Y’
‘AMERICANSHORT’ == ‘m/d/Y’
‘AMERICANSHORTWTIME’ == ‘m/d/Y h:i:sA’
‘原子’ == ‘YmdTH:i:sP’
‘COOKIE’ == ‘l dMY H:i:s T’
‘欧洲’ == ‘j F Y’
‘EUROPEANSHORT’ == ‘dmY’
‘EUROPEANSHORTWTIME’ == ‘dmY H:i:s’
‘ISO8601’ == ‘YmdTH:i:sO’
‘合法’ == ‘j F Y’
‘RFC822’ == ‘D d M y H:i:s O’
‘RFC850’ == ‘l dMy H:i:s T’
‘RFC1036’ == ‘D d M y H:i:s O’
‘RFC1123’ == ‘D d MYH:i:s O’
‘RFC2822’ == ‘D d MYH:i:s O’
‘RFC3339’ == ‘YmdTH:i:sP’
‘RSS’ == ‘D d MYH:i:s O’
‘W3C’ == ‘YmdTH:i:sP’
‘漂亮’ ‘漂亮-a’ == ‘g:i.sA l jS of F Y’ ‘漂亮-b’ == ‘g:iA l jS of F Y’ ‘漂亮- c’ == ‘n/d/Y g:iA’ ‘pretty-d’ == ‘n/d/Y’ ‘pretty-e’ == ‘F jS – g:ia’ ‘pretty-f’ == ‘g:iA’
‘漂亮-a’ == ‘g:i.sA l jS of F Y’
‘漂亮-b’ == ‘g:iA l jS of F Y’
‘漂亮-c’ == ‘n/d/Y g:iA’
‘漂亮-d’ == ‘n/d/Y’
‘漂亮-e’ == ‘F jS – g:ia’
‘漂亮-f’ == ‘g:iA’
@KamranAhmed 差不多 2 年和 40 多票之后,我会说努力是值得的。哈哈。从那以后我个人扩展了这个类很多,但没有上传,因为我认为大多数人会使用我看到推荐的其他 js 日期插件,但我想我应该让它更“公开”并在这里添加它。
上面,有一个错字(我花了一段时间才发现),它在行中使用了一个变量“today”:“dayOfMonth = today +”
“今天 + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder” - JS 是愚蠢的语言。
答5:
如果您只想要一个没有时间信息的日期,请使用:
var 今天 = 新日期();今天.setHours(0, 0, 0, 0); document.write(今天);
这似乎是唯一真正回答问题的答案。其他人都回答了如何将日期格式化为字符串。
我同意。实际上我想写一个类似于这个的答案,然后弹出一个小窗口询问我是否已经阅读了所有答案。由于我只阅读了最热门的答案,我决定检查是否有任何正确答案,这个是第一个正确答案。
我也同意。完美回答问题。谢谢你。
答6:
尝试这个:
var currentDate = new Date() var day = currentDate.getDate() var month = currentDate.getMonth() + 1 var year = currentDate.getFullYear() document.write(“” + day + “/” + month + “/” + 年份 + “”)
结果会像
15/2/2012
答7:
如果您正在寻找对日期格式更精细的控制,我强烈建议您查看 momentjs。很棒的图书馆——而且只有 5KB。 http://momentjs.com/
huntsbot.com – 高效赚钱,自由工作
像魅力一样支持本地化。
这些天我们使用 date-fns - 它将日期视为不可变(Moment 改变日期),速度更快并且是模块化的(只需导入您需要的内容)。
在发布这个时刻六年后,js 已经增加了相当多的重量。您可能想改为查看 github.com/iamkun/dayjs - 我已将其描述为“节食的时刻”。相同的简单 API。
答8:
您可以使用 moment.js:http://momentjs.com/
var m = moment().format(“DD/MM/YYYY”); document.write(m);
或 moment().format("L") 以尊重当前语言环境。
@DanDascalescu 实际上, DateTime 的 Javascript 基本规范就是那么糟糕。
如果您已经在项目中导入了 momentjs,那么这是最简洁的答案。
答9:
var date = new Date().toLocaleDateString("en-US");
此外,您可以使用两个参数调用方法 toLocaleDateString:
var date = new Date().toLocaleDateString("en-US", {
"year": "numeric",
"month": "numeric"
});
MDN 上有关此方法的更多信息。
很好,适用于 Chrome。不幸的是,截至 2016 年 4 月 22 日,它不适用于 PhantomJS
很酷的解决方案。应该在顶部。 new Date().toLocaleDateString("de-de") 对我有用。
答10:
与HuntsBot一起,探索全球自由职业机会–huntsbot.com
var d = (new Date()).toString().split(’ ‘).splice(1,3).join(’ ‘); document.write(d)
(new Date()).toString() 给出 “Fri Jun 28 2013 15:30:18 GMT-0700 (PDT)” (new Date()).toString().split(’ ‘) 将上述字符串划分为每个空格并返回如下数组:[“Fri”, “Jun”, “28”, “2013”, “15:31:14”, “GMT-0700”, “(PDT)”] (new Date() ).toString().split(’ ‘).splice(1,3).join(’ ‘) 从上面的数组中取出第二个、第三个和第四个值,用空格将它们连接起来,返回一个字符串“Jun 28 2013 “
我需要 00:00:00 的时间并且不想手动重建它;第 2 步让我完美地到达那里。赞!
这样做可以节省一些字节:Date().split(' ').splice(1,3).join(' ')
答11:
这每次都有效:
var now = new Date(); var day = (“0” + now.getDate()).slice(-2); var month = (“0” + (now.getMonth() + 1)).slice(-2); var today = now.getFullYear() + “-” + (month) + “-” + (day); console.log(今天);
原文链接:https://www.huntsbot.com/qa/R312/how-do-i-get-the-current-date-in-javascript?lang=zh_CN&from=csdn
原文地址:https://blog.csdn.net/kalman2019/article/details/128451465
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_42928.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!