【问题标题】:Getting current date and time in JavaScript在 JavaScript 中获取当前日期和时间
【发布时间】:2012-04-29 23:14:07
【问题描述】:

我有一个用 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

【问题讨论】:

  • 一般来说,您应该努力阅读您正在使用的 API 的文档。以下是 Javascript Date 对象的一些文档:developer.mozilla.org/en/JavaScript/Reference/Global_Objects/…。在那里可以找到解决问题所需的所有信息。
  • @Ricardo:MDN 是一个出色的 reference,可以解决这个问题和许多其他问题。请使用它。
  • 人们总是抱怨某些问题,但很少有关于 SO 的问题无法通过阅读文档来回答。我喜欢这个网站,因为它有简洁的答案和示例,说明如何做我想做的事情,就像这个问题一样。
  • 当人们在谷歌上搜索他们而不是 api 文档时,分享知识而不让人们吃得不好是不是很糟糕?

标签: javascript date time concatenation


【解决方案1】:

简短:-

console.log(new Date().toLocaleString());

Reference

【讨论】:

  • 这已经在其他答案中提到过,例如this one
【解决方案2】:

此英国时区示例.. 为特定时区设置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);

输出 :: Mon Dec 27 2021 12:6:3

【讨论】:

    【解决方案3】:
    const date = new Date()
    console.log(date.toLocaleTimeString("en-us", {timeStyle: "medium"})) // Only Time 
    console.log(date.toLocaleString()) // For both Date and Time 
    

    For Documentation

    【讨论】:

      【解决方案4】:

      对于真正的 mysql 样式输出,请使用以下函数:2019/02/28 15:33:12

      • 如果您点击下方的“运行代码 sn-p”按钮
      • 它将向您展示一个简单的实时数字时钟示例
      • 演示将出现在代码 sn-p 下方。

      function getDateTime() {
              var now     = new Date(); 
              var year    = now.getFullYear();
              var month   = now.getMonth()+1; 
              var day     = now.getDate();
              var hour    = now.getHours();
              var minute  = now.getMinutes();
              var second  = now.getSeconds(); 
              if(month.toString().length == 1) {
                   month = '0'+month;
              }
              if(day.toString().length == 1) {
                   day = '0'+day;
              }   
              if(hour.toString().length == 1) {
                   hour = '0'+hour;
              }
              if(minute.toString().length == 1) {
                   minute = '0'+minute;
              }
              if(second.toString().length == 1) {
                   second = '0'+second;
              }   
              var dateTime = year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second;   
               return dateTime;
          }
      
          // example usage: realtime clock
          setInterval(function(){
              currentTime = getDateTime();
              document.getElementById("digital-clock").innerHTML = currentTime;
          }, 1000);
      <div id="digital-clock"></div>

      【讨论】:

        【解决方案5】:

        这是我全天候工作的完整格式,包括日期、日期、年份和时间 并确保您的 PC 日期设置为正确的日期,如果您使用 PHP,请确保在 php.ini date.timezone=xx where xx 您当前的时区

        function startTime()
        {
            var today=new Date();
            //                   1    2    3    4    5    6    7    8    9   10    11  12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33
            var suffixes = ['','st','nd','rd','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','th','st','nd','rd','th','th','th','th','th','th','th','st','nd','rd'];
        
            var weekday = new Array(7);
            weekday[0] = "Sunday";
            weekday[1] = "Monday";
            weekday[2] = "Tuesday";
            weekday[3] = "Wednesday";
            weekday[4] = "Thursday";
            weekday[5] = "Friday";
            weekday[6] = "Saturday";
        
            var month = new Array(12);
            month[0] = "January";
            month[1] = "February";
            month[2] = "March";
            month[3] = "April";
            month[4] = "May";
            month[5] = "June";
            month[6] = "July";
            month[7] = "August";
            month[8] = "September";
            month[9] = "October";
            month[10] = "November";
            month[11] = "December";
        
            document.getElementById('txt').innerHTML=(weekday[today.getDay()] + ',' + " " + today.getDate()+'<sup>'+suffixes[today.getDate()]+'</sup>' + ' of' + " " + month[today.getMonth()] + " " + today.getFullYear() + ' Time Now ' + today.toLocaleTimeString());
            t=setTimeout(function(){startTime()},500);
        }
        <style>
        sup {
                vertical-align: super;
                font-size: smaller;
            }
        </style>
        <html>
        <body onload="startTime()">
        <div id="txt"></div>
        </body>
        </html>

        【讨论】:

          【解决方案6】:

          最短

          我开发了Steve answer 以获得 OP 的确切需求

          new Date().toLocaleString().replace(',','')
          

          console.log(new Date().toLocaleString().replace(',',''));

          【讨论】:

            【解决方案7】:

            .getMonth() 返回一个从零开始的数字,因此要获得正确的月份,您需要加 1,因此在 5 月调用 .getMonth() 将返回 4 而不是 5

            所以在您的代码中,我们可以使用currentdate.getMonth()+1 来输出正确的值。另外:

            • .getDate() 返回月份中的某天
            • .getDay()Date 对象的一个​​单独方法,它将返回一个整数,表示一周中的当前日期 (0-6) 0 == Sunday

            所以你的代码应该是这样的:

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

            JavaScript Date 实例继承自 Date.prototype。您可以修改构造函数的原型对象以影响 JavaScript Date 实例继承的属性和方法

            您可以使用Date 原型对象来创建一个新方法,该方法将返回今天的日期和时间。这些新方法或属性将被Date 对象的所有实例继承,因此在您需要重用此功能时特别有用。

            // For todays date;
            Date.prototype.today = function () { 
                return ((this.getDate() < 10)?"0":"") + this.getDate() +"/"+(((this.getMonth()+1) < 10)?"0":"") + (this.getMonth()+1) +"/"+ this.getFullYear();
            }
            
            // For the time now
            Date.prototype.timeNow = function () {
                 return ((this.getHours() < 10)?"0":"") + this.getHours() +":"+ ((this.getMinutes() < 10)?"0":"") + this.getMinutes() +":"+ ((this.getSeconds() < 10)?"0":"") + this.getSeconds();
            }
            

            然后您可以通过执行以下操作来简单地检索日期和时间:

            var newDate = new Date();
            var datetime = "LastSync: " + newDate.today() + " @ " + newDate.timeNow();
            

            或者调用内联方法,这样就可以了 -

            var datetime = "LastSync: " + new Date().today() + " @ " + new Date().timeNow();
            

            【讨论】:

            • 每天 12 小时和上午/下午的小改动 Date.prototype.timeNow = function(){ return ((this.getHours() &lt; 10)?"0":"") + ((this.getHours()&gt;12)?(this.getHours()-12):this.getHours()) +":"+ ((this.getMinutes() &lt; 10)?"0":"") + this.getMinutes() +":"+ ((this.getSeconds() &lt; 10)?"0":"") + this.getSeconds() + ((this.getHours()&gt;12)?('PM'):'AM'); };
            • @RobertSpeer 不错的建议。自从上次更新这篇我称之为now() 的帖子以来,我已经编写了一个更有用的日期对象方法,它接受一个布尔参数来确定是只返回日期还是返回日期和时间,还有一个指定格式的第二个参数应该以 dd/mm/yyyy 等形式返回日期。
            • 请注意,像 00:04:02 这样的时间将在第一个建议中呈现为 0:4:2,这不是我们所要求的。为了解决这个问题,可以添加第二个建议的三元运算符:(date.getHours() &lt; 10 ? "0" : "") + date.getHours() + ":" + (date.getMinutes() &lt; 10 ? "0" : "") + date.getMinutes() + ":" + (date.getSeconds() &lt; 10 ? "0" : "") + date.getSeconds();
            • 也许有点细节;但不应该将时间戳存储在临时对象中以避免在检索/打印方法期间更改当前日期/时间吗?
            • 更新:('0' + this.getDate()).slice(-2) 似乎比 (this.getDate() &lt; 10)?"0":"") + this.getDate()
            【解决方案8】:

            如果有人在寻找功能

            console.log(formatAMPM());
            function formatAMPM() {
              var date = new Date();
              var hours = date.getHours();
              var minutes = date.getMinutes();
              var seconds = date.getSeconds();
              var ampm = hours >= 12 ? 'PM' : 'AM';
              hours = hours % 12;
              hours = hours ? hours : 12; // the hour '0' should be '12'
              minutes = minutes < 10 ? '0'+minutes : minutes;
              return strTime = date.getMonth() + '/' + date.getDay()+'/'+date.getFullYear()+' '+ hours + ':' + minutes +':'+ seconds + " " +ampm;
            }
            

            【讨论】:

              【解决方案9】:

              基本 JS(好学):我们使用 Date() 函数并完成我们需要以自定义格式显示日期和日期的所有操作。

              var myDate = new Date();
              
              let daysList = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
              let monthsList = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Aug', 'Oct', 'Nov', 'Dec'];
              
              
              let date = myDate.getDate();
              let month = monthsList[myDate.getMonth()];
              let year = myDate.getFullYear();
              let day = daysList[myDate.getDay()];
              
              let today = `${date} ${month} ${year}, ${day}`;
              
              let amOrPm;
              let twelveHours = function (){
                  if(myDate.getHours() > 12)
                  {
                      amOrPm = 'PM';
                      let twentyFourHourTime = myDate.getHours();
                      let conversion = twentyFourHourTime - 12;
                      return `${conversion}`
              
                  }else {
                      amOrPm = 'AM';
                      return `${myDate.getHours()}`}
              };
              let hours = twelveHours();
              let minutes = myDate.getMinutes();
              
              let currentTime = `${hours}:${minutes} ${amOrPm}`;
              
              console.log(today + ' ' + currentTime);

              Node JS(快速简单):使用 (npm install date-and-time) 安装 npm 包,然后运行以下命令。

              let nodeDate = require('date-and-time');
              let now = nodeDate.format(new Date(), 'DD-MMMM-YYYY, hh:mm:ss a');
              console.log(now);
              

              【讨论】:

                【解决方案10】:

                <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>

                【讨论】:

                • 你应该包括一些评论,而不是只有代码的帖子。
                【解决方案11】:

                简单又好用

                 $(document).ready(function () { 
                            var fpsOut = document.getElementById('myTime');
                            setInterval(function () {
                                var d = new Date(); 
                                fpsOut.innerHTML = d;
                            }, 1000);
                        });
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
                <div id="myTime"></div>

                请为示例找到下面的提琴手

                http://jsfiddle.net/4zVxp/483/

                【讨论】:

                  【解决方案12】:

                  我需要弄清楚这一点,以便在后期效果中加入。这是我从几个不同来源获取元素后得出的结果——格式为 MM/DD/YYYY HH:MM AM/PM

                  D = new Date(Date(00));
                  M = D.getMonth()+1;
                  H = D.getHours();
                  Mi = D.getMinutes();
                  
                  N = "AM"
                  if (H >= 12)
                  N = "PM"
                  if (H > 12)
                  {
                  H = H-12
                  }
                  
                  amtOfZeroes = 2;
                  isNeg = false;
                  
                  if (M < 0)
                  {
                  M = Math.abs(M);
                  isNeg = true;
                  }
                  Mo = Math.round(M) + "";
                  while(Mo.length < amtOfZeroes)
                  {
                  
                  Mo = "0" + Mo; 
                  }
                  if (isNeg)
                  Mo = "-" + Mo;
                  
                  if (H < 0)
                  {
                  H = Math.abs(H);
                  isNeg = true;
                  }
                  Ho = Math.round(H) + "";
                  while(Ho.length < amtOfZeroes)
                  {
                  Ho = "0" + Ho; 
                  }
                  if (isNeg)
                  Ho = "-" + Ho;
                  
                  if (Mi < 0)
                  {
                  Mi = Math.abs(Mi);
                  isNeg = true;
                  }
                  Min = Math.round(Mi) + "";
                  while(Min.length < amtOfZeroes)
                  {
                  Min = "0" + Min; 
                  }
                  if (isNeg)
                  Min = "-" + Min;
                  
                  T = Ho + ":" + (Min)
                  
                  Mo + "/" + D.getDate() + "/" + D.getFullYear() + "  " + T + " " + N
                  

                  【讨论】:

                    【解决方案13】:
                    function UniqueDateTime(format='',language='en-US'){
                        //returns a meaningful unique number based on current time, and milliseconds, making it virtually unique
                        //e.g : 20170428-115833-547
                        //allows personal formatting like more usual :YYYYMMDDHHmmSS, or YYYYMMDD_HH:mm:SS
                        var dt = new Date();
                        var modele="YYYYMMDD-HHmmSS-mss";
                        if (format!==''){
                          modele=format;
                        }
                        modele=modele.replace("YYYY",dt.getFullYear());
                        modele=modele.replace("MM",(dt.getMonth()+1).toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
                        modele=modele.replace("DD",dt.getDate().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
                        modele=modele.replace("HH",dt.getHours().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
                        modele=modele.replace("mm",dt.getMinutes().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
                        modele=modele.replace("SS",dt.getSeconds().toLocaleString(language, {minimumIntegerDigits: 2, useGrouping:false}));
                        modele=modele.replace("mss",dt.getMilliseconds().toLocaleString(language, {minimumIntegerDigits: 3, useGrouping:false}));
                        return modele;
                    }
                    

                    【讨论】:

                      【解决方案14】:

                      要获取时间和日期,您应该使用

                          new Date().toLocaleString();
                      
                      >> "09/08/2014, 2:35:56 AM"
                      

                      只获取你应该使用的日期

                          new Date().toLocaleDateString();
                      
                      >> "09/08/2014"
                      

                      只得到你应该使用的时间

                          new Date().toLocaleTimeString();
                      
                      >> "2:35:56 AM"
                      

                      或者,如果您只想要格式为 hh:mm 的时间,而美国英语没有 AM/PM

                          new Date().toLocaleTimeString('en-US', { hour12: false, 
                                                                   hour: "numeric", 
                                                                   minute: "numeric"});
                      >> "02:35"
                      

                      或英式英语

                          new Date().toLocaleTimeString('en-GB', { hour: "numeric", 
                                                                   minute: "numeric"});
                      
                      >> "02:35"
                      

                      阅读更多here

                      【讨论】:

                      • 这适用于大多数浏览器,但您可以检查兼容性here
                      • 太糟糕了,您无法轻松获得微秒/毫秒
                      • 加一。我一直在寻找一种方法来保持两个数字。我之前使用过getHours()getMinutes(),但是你没有得到格式,01,只有 1。
                      【解决方案15】:

                      我想我很晚才分享我的答案,但我认为这是值得的。

                      function __getCurrentDateTime(format){
                          var dt=new Date(),x,date=[];
                          date['d']=dt.getDate();
                          date['dd']=dt.getDate()>10?dt.getDate():'0'+dt.getDate();
                          date['m']=dt.getMonth()+1;
                          date['mm']=(dt.getMonth()+1)>10?(dt.getMonth()+1):'0'+(dt.getMonth()+1);
                          date['yyyy']=dt.getFullYear();
                          date['yy']=dt.getFullYear().toString().slice(-2);
                          date['h']=(dt.getHours()>12?dt.getHours()-12:dt.getHours());
                          date['hh']=dt.getHours();
                          date['mi']=dt.getMinutes();
                          date['mimi']=dt.getMinutes()<10?('0'+dt.getMinutes()):dt.getMinutes();
                          date['s']=dt.getSeconds();
                          date['ss']=dt.getSeconds()<10?('0'+dt.getSeconds()):dt.getSeconds();
                          date['sss']=dt.getMilliseconds();
                          date['ampm']=(dt.getHours()>=12?'PM':'AM');
                          x=format.toLowerCase();
                          x=x.indexOf('dd')!=-1?x.replace(/(dd)/i,date['dd']):x.replace(/(d)/i,date['d']);
                          x=x.indexOf('mm')!=-1?x.replace(/(mm)/i,date['mm']):x.replace(/(m)/i,date['m']);
                          x=x.indexOf('yyyy')!=-1?x.replace(/(yyyy)/i,date['yyyy']):x.replace(/(yy)/i,date['yy']);
                          x=x.indexOf('hh')!=-1?x.replace(/(hh)/i,date['hh']):x.replace(/(h)/i,date['h']);
                          x=x.indexOf('mimi')!=-1?x.replace(/(mimi)/i,date['mimi']):x.replace(/(mi)/i,date['mi']);
                          if(x.indexOf('sss')!=-1){   x=x.replace(/(sss)/i,date['sss']);  }
                          x=x.indexOf('ss')!=-1?x.replace(/(ss)/i,date['ss']):x.replace(/(s)/i,date['s']);
                          if(x.indexOf('ampm')!=-1){  x=x.replace(/(ampm)/i,date['ampm']);    }
                          return x;
                      }
                      
                      console.log(__getCurrentDateTime());  //returns in dd-mm-yyyy HH:MM:SS
                      console.log(__getCurrentDateTime('dd-mm-yyyy'));    //return in 05-12-2016
                      console.log(__getCurrentDateTime('dd/mm*yyyy'));    //return in 05/12*2016
                      console.log(__getCurrentDateTime('hh:mimi:ss'));    //return in 13:05:30
                      

                      console.log(__getCurrentDateTime('h:mi:ss ampm')); //下午1:5:30返回

                      【讨论】:

                        【解决方案16】:
                        var datetime = new Date().toLocaleString().slice(0,9) +" "+new Date(new Date()).toString().split(' ')[4];
                        console.log(datetime);
                        

                        【讨论】:

                          【解决方案17】:

                          我的好答案是使用这一点点 JS:https://github.com/rhroyston/clock-js

                          clock.now   --> 1462248501241
                          clock.time  --> 11:08 PM
                          clock.weekday   --> monday
                          clock.day   --> 2
                          clock.month --> may
                          clock.year  --> 2016
                          clock.since(1462245888784)  --> 44 minutes
                          clock.until(1462255888784)  --> 2 hours
                          clock.what.time(1462245888784)  --> 10:24 PM
                          clock.what.weekday(1461968554458)   --> friday
                          clock.what.day('14622458887 84')    --> 2
                          clock.what.month(1461968554458) --> april
                          clock.what.year('1461968554458')    --> 2016
                          clock.what.time()   --> 11:11 PM
                          clock.what.weekday('14619685abcd')  -->     clock.js error : expected unix timestamp as argument
                          clock.unit.seconds  --> 1000
                          clock.unit.minutes  --> 60000
                          clock.unit.hours    --> 3600000
                          clock.unit.days --> 86400000
                          clock.unit.weeks    --> 604800000
                          clock.unit.months   --> 2628002880
                          clock.unit.years    --> 31536000000
                          

                          【讨论】:

                            【解决方案18】:

                            我找到了从这里获取 JavaScript 中当前日期和时间的最简单方法 - How to get current Date and Time using JavaScript

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

                            【讨论】:

                              【解决方案19】:
                              function display_c(){   
                                  var refresh = 1000; // Refresh rate in milli seconds    
                                  mytime = setTimeout('display_ct()', refresh)    
                              }
                              
                              function display_ct() {
                              
                                  var strcount    
                                  var currentdate = new Date();
                              
                                  document.getElementById('ct').innerHTML = currentdate.toDateString() + " " + currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();
                              
                                  tt = display_c();   
                              }
                              
                              
                              id = 'ct'     // Replace in Your id
                              
                              onload = "display_ct();"     // Type inside a Body Tag
                              

                              【讨论】:

                                【解决方案20】:

                                只需使用:

                                var d = new Date();
                                document.write(d.toLocaleString());
                                document.write("<br>");
                                

                                【讨论】:

                                【解决方案21】:

                                这个问题很老了,答案也很老。我们现在可以使用 moment.js 来获取当前日期,而不是那些可怕的函数,这实际上非常容易。所要做的就是在我们的项目中包含moment.js 并获得一个格式正确的日期,例如,通过:

                                moment().format("dddd, MMMM Do YYYY, h:mm:ss a");
                                

                                我认为这使得在 javascript 中处理日期变得更加容易。

                                【讨论】:

                                  【解决方案22】:

                                  这个小代码很简单,可以在任何地方使用。

                                  <p id="dnt"></p>
                                  <script>
                                  document.getElementById("dnt").innerHTML = Date();
                                  </script>
                                  

                                  还有设计空间

                                  【讨论】:

                                    【解决方案23】:
                                    dt= new Date();
                                    alert(dt.toISOString().substring(8,10) + "/" + 
                                    dt.toISOString().substring(5,7)+ "/" + 
                                    dt.toISOString().substring(0,4) + " " + 
                                    dt.toTimeString().substring(0,8))
                                    

                                    【讨论】:

                                    • 请说明您的代码的作用以及它如何回答问题。如果您得到一个代码 sn-p 作为答案,您可能不知道如何处理它。答案应该为 OP 和未来的访问者提供有关如何调试和解决问题的指导。指出您的代码背后的想法是什么,对理解问题以及应用或修改您的解决方案有很大帮助。
                                    • 现在对你来说都是原始的。一年后会怎样?对于没有像您一样流利地阅读 JavaScript 的人怎么办?我建议您按照 使用Date 的新实例添加一些内容。从toISOString() 解析日期组件并从toTimeString() 添加时间。.
                                    • 这种方法不是最优的。难以阅读代码,涉及不必要的解析。例如。 toISOString().substring(8,10)getFullYear() 相同。
                                    【解决方案24】:

                                    获取当前日期和时间

                                    var now = new Date(); 
                                      var datetime = now.getFullYear()+'/'+(now.getMonth()+1)+'/'+now.getDate(); 
                                      datetime += ' '+now.getHours()+':'+now.getMinutes()+':'+now.getSeconds(); 
                                    

                                    【讨论】:

                                      【解决方案25】:

                                      看看这个可能对你有用

                                      <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>
                                      

                                      【讨论】:

                                        【解决方案26】:
                                        function getTimeStamp() {
                                               var now = new Date();
                                               return ((now.getMonth() + 1) + '/' + (now.getDate()) + '/' + now.getFullYear() + " " + now.getHours() + ':'
                                                             + ((now.getMinutes() < 10) ? ("0" + now.getMinutes()) : (now.getMinutes())) + ':' + ((now.getSeconds() < 10) ? ("0" + now
                                                             .getSeconds()) : (now.getSeconds())));
                                        }
                                        

                                        【讨论】:

                                          【解决方案27】:

                                          您需要使用 getDate() 来获取日期部分。 getDay() 函数返回天数(Sunday = 0, Monday = 1...),getMonth() 返回一个基于 0 的索引,因此您需要将其递增 1。

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

                                          【讨论】:

                                            【解决方案28】:

                                            .getDay 返回星期几。你需要 .getDate 代替。 .getMonth 返回从 0 到 11 的值。您需要在结果中加 1 才能获得“人类”月份数。

                                            【讨论】:

                                              【解决方案29】:

                                              这应该可以解决问题:

                                              function dateToString(date) {
                                                  var month = date.getMonth() + 1;
                                                  var day = date.getDate();
                                                  var dateOfString = (("" + day).length < 2 ? "0" : "") + day + "/";
                                                  dateOfString += (("" + month).length < 2 ? "0" : "") + month + "/";
                                                  dateOfString += date.getFullYear();
                                                  return dateOfString;
                                              }
                                              
                                              var currentdate = new Date();
                                              var datetime = "Last Sync: ";
                                              datetime += dateToString(currentdate );
                                              datetime += + currentdate.getHours() + ":"
                                                          + currentdate.getMinutes() + ":"
                                                          + currentdate.getSeconds();
                                              

                                              【讨论】:

                                              • 分钟和秒应扩展为 2 位数,就像在天和月中所做的那样。
                                              【解决方案30】:
                                              var currentdate = new Date();
                                              
                                                  var datetime = "Last Sync: " + currentdate.getDate() + "/"+(currentdate.getMonth()+1) 
                                                  + "/" + currentdate.getFullYear() + " @ " 
                                                  + currentdate.getHours() + ":" 
                                                  + currentdate.getMinutes() + ":" + currentdate.getSeconds();
                                              

                                              .getDay() 方法更改为 .GetDate() 并将月份加一,因为它从 0 开始计算月份。

                                              【讨论】:

                                                猜你喜欢
                                                • 2015-03-22
                                                • 2012-12-04
                                                • 2015-11-12
                                                • 2015-01-18
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 2015-04-20
                                                • 1970-01-01
                                                相关资源
                                                最近更新 更多