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

Posted

技术标签:

【中文标题】如何在 JavaScript 中获取当前日期?【英文标题】:How do I get the current date in JavaScript? 【发布时间】:2010-12-04 14:29:42 【问题描述】:

【问题讨论】:

var currentTime = new Date(); 见documentation for the Date object。它有例子。 这会帮助你tizag.com/javascriptT/javascriptdate.php new Date() 返回当前时间,而不是当前日期。如果您尝试将其与另一个没有时间成分的日期(即午夜)进行比较,则区别很重要。 使用momentJs,这个库对开发者来说是黄金。 【参考方案1】:
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") 对我有用。【参考方案2】:

使用Date.prototype.toLocaleDateString()内置的JS 来自 MDN 文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

const options =  
  month: '2-digit', 
  day: '2-digit',
  year: 'numeric', 
;

console.log(new Date().toLocaleDateString('en-US', options)); // mm/dd/yyyy

更新:我们可以使用 Intl.DateTimeFormat 获得类似的行为,它具有不错的 browser support。类似于toLocaleDateString(),我们可以传递一个带有选项的对象:

const date = new Date('Dec 2, 2021') // Thu Dec 16 2021 15:49:39 GMT-0600
const options = 
  day: '2-digit',
  month: '2-digit',
  year: 'numeric',

new Intl.DateTimeFormat('en-US', options).format(date) // '12/02/2021'

【讨论】:

【参考方案3】:

你试过Date.js吗?

毫秒

date.js.millisecond(); // 0.00

date.js.second(); // 58

分钟

date.js.minute(); // 31

小时

date.js.hour(); // 6  (PM)

date.js.day(); // Monday

date.js.week(); // (Week Of the Month / WOM) => 2

月份

date.js.month(); // (Month) => November

TLM(三个字母月)

date.js.tlmonth(); // (Month) => Dec

年份

date.js.year(); // (Year / String: "") => "2021"

季节

date.js.season(); // (Fall / Season: seasons) => "fall"

上午/下午的当前时间

date.js.time(); // (Time / Zone: "PDT/EDT etc.") => 10:04 AM

【讨论】:

【参考方案4】:

更干净、更简单的版本:

new Date().toLocaleString();

结果因用户的区域设置而异

2017 年 2 月 27 日上午 9:15:41

【讨论】:

【参考方案5】:

大多数其他答案都提供日期和时间。 如果你只需要日期。

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

输出

[ '2021-02-08', '06:07:44.629Z' ]

如果您想要/ 格式,请使用replaceAll

new Date().toISOString().split("T")[0].replaceAll("-", "/")

如果您想要其他格式,那么最好使用momentjs

【讨论】:

谢谢!我知道 date 必须有一个字符串方法,我不知道为什么每个人都在解析日期和月份和年份并连接..即使你想要破折号:Date().toISOString().split('T')[ 0].replaceAll('/','-') 是的,也许他们有别的想法。【参考方案6】:

我的方式

let dateString = new Date().toLocaleString().split(',').find(() => true);

【讨论】:

【参考方案7】:
// Try this simple way

const today = new Date();
let date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
console.log(date);

【讨论】:

答案很棒。但对于最佳实践,请提供解释。您只发布代码会使 OP 和未来的 commers 复制并粘贴您的答案,而不了解答案背后的逻辑。请提供一些解释的答案。谢谢!【参考方案8】:

你可以看看这个

var today = new Date();
today = parseInt(today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear()+"\nTime : "+today.getHours()+":"+today.getMinutes()+":"+today.getSeconds();
document.write(today);

并查看 Date() 构造函数的文档。 link

Get Current Date Month Year in React js

【讨论】:

【参考方案9】:

这很重要;

    var today = new Date();
    var date = today.getFullYear()+'/'+(today.getMonth()+1)+'/'+today.getDate();
    document.write(date);

today.getFullYear() 获取当前年份,

today.getMonth()+1 获取当前月份

today.getDate() 获取今天的日期。 所有这些都与'/'连接。

【讨论】:

纯代码答案在 Stack Overflow 上的价值很低,因为它们在教育/授权 OP 和成千上万的未来研究人员方面做得很差。 为什么是 today.getMonth()+1 ?【参考方案10】:

这么多复杂的答案...

只需使用new Date(),如果您需要它作为字符串,只需使用new Date().toISOString()

享受吧!

【讨论】:

【参考方案11】:
Date.prototype.toLocalFullDateStringYYYYMMDDHHMMSS = function () 
if (this != null && this != undefined) 
    let str = this.getFullYear();
    str += "-" + round(this.getMonth() + 1);
    str += "-" + round(this.getDate());
    str += "T";
    str += round(this.getHours());
    str += ":" + round(this.getMinutes());
    str += ":" + round(this.getSeconds());
    return str;
 else 
    return this;


function round(n)
    if(n < 10)
        return "0" + n;
    
    else return n;
;

【讨论】:

【参考方案12】:

如果在“当前日期”之前您正在考虑“今天”,那么这个技巧可能对您有用:

> new Date(3600000*Math.floor(Date.now()/3600000))
2020-05-07T07:00:00.000Z

这样你就得到了今天Date 时间为0:00:00 的实例。

操作原理很简单:我们取当前时间戳,除以 1 天,单位为毫秒。我们会得到一小部分。通过使用Math.floor,我们去掉了分数,所以我们得到了一个整数。现在,如果我们将其乘以一天(同样 - 以毫秒为单位),我们会得到一个日期时间戳,其时间正好在一天的开始。

> now = Date.now()
1588837459929
> daysInMs = now/3600000
441343.73886916664
> justDays = Math.floor(daysInMs)
441343
> today = justDays*3600000
1588834800000
> new Date(today)
2020-05-07T07:00:00.000Z

干净简单。

【讨论】:

在哪里解释了这个答案的工作原理以及为什么你觉得这是个好建议? 不明白这突如其来的攻击是从哪里来的?我没有看到您对其他答案提出了这个问题?我可以知道为什么我会以这种方式获得奖励吗? 我不明白你为什么觉得这是一次攻击。是的,我确实吹响了(几个)其他仅代码的答案。您可以编辑您的帖子。请改进它,以教育/授权成千上万的未来研究人员。 在粗暴的高帽子命令句之后很难不给人一种攻击的印象。我很乐意改进我的答案,但请下次不要假设您有权命令周围的人。我非常感谢您的关心和您为使 *** 变得更好的时间,但请相信我,如果您要从高处待人,没有人愿意与您合作。就像句子“你能解释一下这个答案是如何工作的吗?为什么你觉得这是个好建议?”在我眼里听起来好多了,然后“在哪里……”。你明白我在说什么吗? 我也可以这样回答:这是你自我欣赏的方式吗? :) 但我不打算继续这个对话,因为我发现它不会导致任何结果。【参考方案13】:

试试

`$Date()`.slice(4,15)

console.log( `$Date()`.slice(4,15) )

我们在这里使用标准 JS 功能:template literals、Date object(转换为字符串)和slice。这可能是满足 OP 要求的最短解决方案(没有时间,只有日期)

【讨论】:

问题是针对javascript的。 @JaydeepShil - 这是 javascript 解决方案 - 如果您不相信在 sn-p 之上运行或将其复制粘贴到 chrome 控制台 伟大而简洁的解决方案!!谢谢【参考方案14】:

适用于寻找此类日期格式的人2020 年 4 月 9 日

function getDate()
  var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]

  var today = new Date();
  var dd    = String(today.getDate()).padStart(2, '0');
  var mm    = months[today.getMonth()];
  var yyyy  = today.getFullYear();

  today = dd + "-" + mm + "-" + yyyy;
  return today;


getDate();

【讨论】:

【参考方案15】:

实现这一目标的一种直接方法是:

let d = new Date().toISOString().substring(0,19).replace("T"," ") // "2020-02-18 16:41:58"

通常,这是一种非常通用的兼容日期格式,如果需要,您可以将其转换为纯日期值:

Date.parse(d); // 1582044297000

【讨论】:

【参考方案16】:

TL;DR

这里找到的大多数答案都是正确的系统)。

可靠来源是:

Web 服务器的时钟(但请确保它已更新) 时间 API 和 CDN

详情

Date 实例上调用的方法将根据您机器的本地时间返回一个值。

更多详情请见“MDN 网络文档”:JavaScript Date object。

为方便起见,我从他们的文档中添加了相关注释:

(...) 获取日期和时间或其组件的基本方法都在本地(即主机系统)时区和偏移量中工作。

提到这一点的另一个来源是:JavaScript date and time object

请务必注意,如果某人的时钟差了几个小时,或者他们处于不同的时区,那么 Date 对象将创建与您自己计算机上创建的时间不同的时间。

您可以使用的一些可靠来源是:

您的网络服务器的时钟(首先检查它是否设置正确) 时间 API 和 CDN: https://timezonedb.com/api http://worldtimeapi.org http://worldclockapi.com http://www.geonames.org/export/ws-overview.html 其他相关API:https://www.programmableweb.com/category/time/api

但是,如果准确性对您的用例并不重要,或者您只需要相对于本地机器时间的日期,那么您可以安全地使用 Javascript 的 Date 基本方法,例如 Date.now()

【讨论】:

【参考方案17】:

试试这个,你可以相应地调整日期格式:

var today = new Date();
    var dd = today.getDate();
    var mm = today.getMonth() + 1;
    var yyyy = today.getFullYear();
    if (dd < 10) 
        dd = '0' + dd;
    
    if (mm < 10) 
        mm = '0' + mm;
    
 var myDate= dd + '-' + mm + '-' + yyyy;

【讨论】:

【参考方案18】:

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

Date();

【讨论】:

那不是真的。日期()->“2020 年 11 月 14 日星期六 09:23:28 GMT-0600(中部标准时间)”。请扭转您的负分处罚。 谢谢。我很感激。【参考方案19】:

要获取日期,然后将其内置到 javascript 中:

new Date();

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

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

获取支持格式的完整列表see here

【讨论】:

【参考方案20】:

我的解决方案使用字符串文字Find out more...

// Declare Date as d
var d = new Date()

// Inline formatting of Date
const exampleOne = `$d.getDay()-$d.getMonth() + 1-$d.getFullYear()`
// January is 0 so +1 is required

// With Breaklines and Operators
const exampleTwo = `+++++++++++
With Break Lines and Arithmetic Operators Example
Year on newline: $d.getFullYear()
Year minus(-) 30 years: $d.getFullYear() - 30
You get the idea...
+++++++++++`

console.log('=============')
console.log(exampleOne)
console.log('=============')

console.log(exampleTwo)

【讨论】:

【参考方案21】:

最新编辑:2019 年 8 月 23 日 date-fns 库的工作方式与 moment.js 非常相似,但占用空间要小得多。它使您可以挑选要包含在项目中的函数,这样您就不必编译整个库来格式化今天的日期。如果您的项目不能选择最小的第 3 方库,我赞同 Samuel Meddows 接受的解决方案。

保留以下历史记录,因为它帮助了一些人。但是为了记录,它非常hacky并且很容易在没有警告的情况下打破,就像这篇文章中的大多数解决方案一样

2017 年 2 月 7 日编辑 单行JS解决方案:

tl;博士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]; edge, ff latest, & chrome return todaysDate = "2/7/2017" "works"* in IE10+

说明

我发现 IE10 和 IE Edge 做的事情有点不同.. 想一想。 以new Date(Date.now()).toLocaleString() 作为输入,

IE10 返回:

"Tuesday, February 07, 2017 2:58:25 PM"

我可以写一个很长的函数和 FTFY。但是你真的应该使用moment.js来处理这些东西。我的脚本只是清理了它并为你提供了扩展传统的美国符号:&gt; todaysDate = "March 06, 2017"

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] 会给你一天中的时间。

【讨论】:

【参考方案22】:

这很好得到格式化日期

let date = new Date().toLocaleDateString("en", year:"numeric", day:"2-digit", month:"2-digit");
console.log(date);

【讨论】:

【参考方案23】:

已更新!,向下滚动

如果你想要一些对最终用户来说简单漂亮的东西...... 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)); return 1 == a ? "st" : 2 == a ? "nd" : 3 == a ? "rd" : "th" (),
	dayOfMonth = today + ( objToday.getDate() < 10) ? '0' + objToday.getDate() + domEnder : objToday.getDate() + domEnder,
	months = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
	curMonth = months[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 ? "PM" : "AM";
var today = curHour + ":" + curMinute + "." + curSeconds + curMeridiem + " " + dayOfWeek + " " + dayOfMonth + " of " + curMonth + ", " + curYear;

document.getElementsByTagName('h1')[0].textContent = today;
&lt;h1&gt;&lt;/h1&gt;

UBBER 更新经过长时间的拖延,我终于GitHubbed 并用我自己使用的最终解决方案更新了这个。它甚至在最后一刻进行了一些编辑以使其更甜美!如果您正在寻找旧的jsFiddle, please see this。

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

快速链接

Date.format.min.js 5.08 KB dateFormat.min.js 4.16 KB

风味 1 new Date().format(String) 我个人的最爱。我知道禁忌,但在日期对象上效果很好。请注意您可能对 Date 对象使用的任何其他 mod。

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

风味 2 dateFormat(Date, String) 更传统的多合一方法。具有前一个的所有能力,但通过带日期参数的方法调用。

//  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) 这不仅仅是一个简单的format 选项。它扩展了基本的 Date 对象并包括诸如addDays 之类的方法。更多信息请查看Git

在这个模组中,格式字符的灵感来自PHP: date。如需完整列表,请查看我的README

这个模组还有更长的预制格式列表。要使用预制格式,只需输入其键名。 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' '常数' 'AMERICAN' == 'F j Y' 'AMERICANSHORT' == 'm/d/Y' 'AMERICANSHORTWTIME' == 'm/d/Y h:i:sA' 'ATOM' == 'Y-m-d\\TH:i:sP' 'COOKIE' == 'l d-M-Y H:i:s T' '欧洲'=='j F Y' 'EUROPEANSHORT' == 'd.m.Y' 'EUROPEANSHORTWTIME' == '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' '漂亮-d' == 'n/d/Y' 'pretty-e' == 'F jS - g:ia' 'pretty-f' == 'g:iA'

如您所见,您可以使用双精度 \ 转义字符。


【讨论】:

@KamranAhmed 差不多 2 年和 40 多票之后,我会说努力是值得的。哈哈。从那以后我个人扩展了这门课,但没有上传,因为我认为大多数人会使用我推荐的其他 js 日期插件,但我想我应该让它更“公开”并在这里添加。 moment.js 现在是你现在使用的东西 上面,有一个错字(我花了一段时间才发现),它在行中使用了一个变量“today”:“dayOfMonth = today +” "today + ( objToday.getDate() 【参考方案24】:

能够以自定义格式呈现并在不同的语言环境中使用月份名称:

const locale = 'en-us';
const d = new Date(date);

const day = d.getDate();
const month = d.toLocaleString(locale,  month: 'long' );
const year = d.getFullYear();

const time = d.toLocaleString(locale,  hour12: false, hour: 'numeric', minute: 'numeric');

return `$month $day, $year @ $time`; // May 5, 2019 @ 23:41

【讨论】:

【参考方案25】:

这每次都有效:

    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(today);

【讨论】:

【参考方案26】:

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

var today = new Date();
var dd = String(today.getDate()).padStart(2, '0');
var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
var yyyy = today.getFullYear();

today = mm + '/' + dd + '/' + yyyy;
document.write(today);

这将为您提供今天的日期,格式为 mm/dd/yyyy。

只需将today = mm +'/'+ dd +'/'+ yyyy; 更改为您想要的任何格式。

【讨论】:

感谢代码.. 但我仍然不明白,if(dd @imin:因为少于 2 个字符意味着 1 个字符......而 10(1 到 9)以下的所有内容都是 1 个字符,所以我们将有 0102、.. ., 09 @MounaCheikhna - 999 年我们怎么可能? 如果您不在北美,请交换月份和日期。 新的Date.prototype.toLocaleDateString() 方法是一种更灵活的解决方案。它是自 ECMAScript 5.1 以来 JavaScript 的一部分,并且得到了常青浏览器的良好支持。 MDN: toLocaleDateString()【参考方案27】:

此答案适用于寻找具有类似 ISO-8601 格式和时区的日期的人。 对于那些不想包含任何日期库的人来说,它是纯 JS。

      var date = new Date();
      var timeZone = date.toString();
      //Get timezone ( 'GMT+0200' )
      var timeZoneIndex = timeZone.indexOf('GMT');
      //Cut optional string after timezone ( '(heure de Paris)' )
      var optionalTimeZoneIndex = timeZone.indexOf('(');
      if(optionalTimeZoneIndex != -1)
          timeZone = timeZone.substring(timeZoneIndex, optionalTimeZoneIndex);
      
      else
          timeZone = timeZone.substring(timeZoneIndex);
      
      //Get date with JSON format ( '2019-01-23T16:28:27.000Z' )
      var formattedDate = new Date(date.getTime() - (date.getTimezoneOffset() * 60000)).toJSON();
      //Cut ms
      formattedDate = formattedDate.substring(0,formattedDate.indexOf('.'));
      //Add timezone
      formattedDate = formattedDate + ' ' + timeZone;
      console.log(formattedDate);

在控制台中打印类似这样的内容:

2019-01-23T17:12:52 GMT+0100

JSFiddle : https://jsfiddle.net/n9mszhjc/4/

【讨论】:

【参考方案28】:

如果您希望格式化为字符串。

statusUpdate = "time " + new Date(Date.now()).toLocaleTimeString();

输出“时间 11:30:53 AM”

【讨论】:

为什么是 Date.now()? var x = new Date(Date.now()).toLocaleTimeString(); var y = new Date().toLocaleTimeString(); x === y【参考方案29】:

如果您希望对日期格式进行更精细的控制,我强烈建议您查看 date-FNS。很棒的库 - 比 moment.js 小得多,它基于函数的方法使其比其他基于类的库快得多。提供超过日期所需的大量操作。

https://date-fns.org/docs/Getting-Started

【讨论】:

【参考方案30】:

尽可能短。

要获得像“2018-08-03”这样的格式:

let today = new Date().toISOString().slice(0, 10)

console.log(today)

要获得像“8/3/2018”这样的格式:

let today = new Date().toLocaleDateString()

console.log(today)

另外,您可以将locale 作为参数传递,例如toLocaleDateString("sr") 等。

【讨论】:

由于时区偏移,这仍然失败。 你的第二个答案是最好的。 请注意,这将返回 UTC+0 的日期,而不是本地日期。

以上是关于如何在 JavaScript 中获取当前日期?的主要内容,如果未能解决你的问题,请参考以下文章

如何在javascript中获取时区的当前日期

如何在 Angular 8 或 javascript 中明智地获取当前日期每周日

如何在Javascript中获取当前格式化日期dd/mm/yyyy并将其附加到输入[重复]

html中如何获得当前日期

如何以特定格式获取 Javascript 当前日期秒数

如何使用JavaScript获取当前日期高达毫秒?