在JavaScript中获取当前日期和时间

662

我有一个 JavaScript 脚本,可以打印当前的日期和时间,但是DATE总是错误的。以下是代码:

var currentdate = new Date();
var datetime = "Last Sync: " + currentdate.getDay() + "/" + currentdate.getMonth() 
+ "/" + currentdate.getFullYear() + " @ " 
+ currentdate.getHours() + ":" 
+ currentdate.getMinutes() + ":" + currentdate.getSeconds();

它应该打印18/04/2012 15:07:33,但实际输出3/3/2012 15:07:33


15
通常,您应该努力阅读正在使用的API的文档。这里是一些有关JavaScript日期对象的文档:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date。您需要了解的所有内容都可以在那里找到,以解决您的问题。 - Steven Oxley
3
可能是如何在JavaScript中获取当前日期的重复问题。 - Jon
我认为JavaScript将从系统获取当前日期和时间。因此,请在计算机上设置当前日期和时间。 - Billy
这是2012年第3个月(从0开始计数),星期三(从星期日开始,也是从0开始计数)。 - SparK
13
人们经常抱怨某些问题,但是在SO上几乎没有问题是不能通过阅读文档来回答的。我喜欢这个网站,因为它提供了简洁的答案以及如何完成我正在尝试做的事情的示例,就像这个问题所做的那样。 - Chris Sharp
19
当人们在谷歌搜索时,他们会来到这里而不是API文档,分享知识而不让人感到难过,这样真的很糟糕吗? - Mauricio Gracia Gutierrez
35个回答

0
我们可以使用以下代码获取当前日期: new Date().toLocaleDateString()
我们可以使用以下代码获取当前时间: new Date().toLocaleTimeString()
例如:
const date = new Date().toLocaleDateString();
const time = new Date().toLocaleTimeString();

0

这是一个关于编程的例子,设置特定时区的偏移量 offset。 例如:印度的偏移量为 +05:30,英国的偏移量为 +1。

 function realUKTime() {
        // create Date object for current location
        var d = new Date();
        offset ='+1';
       
        // convert to msec
        // subtract local time zone offset
        // get UTC time in msec
        var utc = d.getTime() + (d.getTimezoneOffset() * 60000);

        // create new Date object for different city
        // using supplied offset
        var nd = new Date(utc + (3600000*offset));

        // return time as a string
        var s = nd.getSeconds();
        var i = nd.getMinutes();
        var h = nd.getHours();
        var cDate =  nd.getDate();
        var m =  nd.getUTCMonth();
        var y = nd.getFullYear();

       var newUkTime = nd.toDateString() + " "+ (Number(h)-1)+":"+i+':'+s
        $("#realTime").html(newUkTime);

    }

    setInterval(realUKTime(),1000);
输出 :: 2021年12月27日 12:6:3

-2

试试这个:

var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
var time = today.getHours() + ":" + today.getMinutes() + ":" + today.getSeconds();
var dateTime = date+' '+time;

输出:

2022-3-3 15:52:45

-2

看看这个,也许对你有用

<script language="JavaScript">
var dayarray=new Array("Sunday","Monday",
 "Tuesday","Wednesday","Thursday","Friday","Saturday")

var montharray=new Array("January","February","March",
 "April","May","June","July","August","September",
 "October","November","December")

function getthedate(){
var mydate=new Date()
var year=mydate.getYear()
if (year < 1000)
year+=1900
var day=mydate.getDay()
var month=mydate.getMonth()
var daym=mydate.getDate()
if (daym<10)
daym="0"+daym
var hours=mydate.getHours()
var minutes=mydate.getMinutes()
var seconds=mydate.getSeconds()
var dn="AM"
if (hours>=12)
dn="PM"
if (hours>12){
hours=hours-12
}
if (hours==0)
hours=12
if (minutes<=9)
minutes="0"+minutes
if (seconds<=9)
seconds="0"+seconds
//change font size here
var cdate="<small><font color='000000' face='Arial'><b>"+dayarray[day]+", 
    "+montharray[month]+" "+daym+", "+year+" "+hours+":"
 +minutes+":"+seconds+" "+dn
    +"</b></font></small>"
if (document.all)
document.all.clock.innerHTML=cdate
else if (document.getElementById)
document.getElementById("clock").innerHTML=cdate
else
document.write(cdate)
}
 if (!document.all&&!document.getElementById)
  getthedate()
  function goforit(){
  if (document.all||document.getElementById)
 setInterval("getthedate()",1000)
}

 </script>

enter code here

 <span id="clock"></span>

-4

<p id="DateTimeBox">Click The Button To Show Date And Time</p>
<button onclick="ShowDate();"> Show Date </button>
<script>
  function ShowDate() {
    document.getElementById('DateTimeBox').innerHTML = Date();
  }
</script>


你应该包含一些评论,而不仅仅是代码。 - codechurn

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接