577

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

4

31 に答える 31

703

.getMonth().getMonth()は 0 から始まる数値を返すため、正しい月を取得するには 1 を追加する必要があり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();
于 2012-04-18T14:11:58.877 に答える
407

時刻と日付を取得するには、使用する必要があります

    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"

詳細はこちらをご覧ください

于 2015-05-14T19:39:47.130 に答える
80

真の mysql スタイルの出力には、以下の関数を使用します。 2019/02/28 15:33:12

  • 下の [コード スニペットを実行] ボタンをクリックすると、
  • 簡単なリアルタイムのデジタル時計の例を示します
  • デモはコード スニペットの下に表示されます。

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>

于 2013-10-04T07:54:41.497 に答える
35

使用するだけです:

var d = new Date();
document.write(d.toLocaleString());
document.write("<br>");
于 2015-01-31T19:55:14.347 に答える
14
var currentdate = new Date();

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

.getDay()メソッドを に変更し.GetDate()、月を 0 からカウントするため、月に 1 を追加します。

于 2012-04-18T14:11:52.300 に答える
8

これでうまくいくはずです:

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();
于 2012-04-18T14:13:03.253 に答える
7

基本的な 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);


ノード JS (クイック & 簡単): ( npm install date-and-time )を使用して npm pagckage をインストールし、以下を実行します。

let nodeDate = require('date-and-time');
let now = nodeDate.format(new Date(), 'DD-MMMM-YYYY, hh:mm:ss a');
console.log(now);
于 2018-05-20T15:14:57.463 に答える
6

ここから 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;
于 2016-04-21T07:02:02.077 に答える
5

getDay()曜日を取得します。 3水曜日です。あなたが望むgetDate()、それが返され18ます。

また、getMonth()から開始します。取得0するには追加する必要があります(4 月)。14

デモ: http://jsfiddle.net/4zVxp/

于 2012-04-18T14:12:37.613 に答える
5

日付部分を取得するには getDate() を使用する必要があります。getDay() 関数は曜日番号 (日曜日 = 0、月曜日 = 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(); 
于 2012-04-18T14:15:00.147 に答える
3

この質問はかなり古く、答えも同じです。これらの巨大な関数の代わりに、現在の日付を取得するために moment.js を使用できるようになりました。これにより、実際には非常に簡単になります。行う必要があるのは、プロジェクトにmoment.jsを含めて、整形式の日付を取得することだけです。たとえば、次のようにします。

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

これにより、JavaScriptで日付を処理する方がはるかに簡単になると思います。

于 2014-12-19T02:20:43.140 に答える
2
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())));
}
于 2013-03-22T09:44:20.847 に答える
2

.getDay は曜日を返します。代わりに .getDate が必要です。.getMonth は 0 から 11 までの値を返します。「人間の」月番号を取得するには、結果に 1 を追加する必要があります。

于 2012-04-18T14:14:51.150 に答える
2

この小さなコードは簡単で、どこでも機能します。

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

設計の余地がある

于 2014-12-15T18:06:24.203 に答える
1
var datetime = new Date().toLocaleString().slice(0,9) +" "+new Date(new Date()).toString().split(' ')[4];
console.log(datetime);
于 2016-06-15T04:00:04.083 に答える
0

短くて簡単:-

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

参照

于 2022-02-12T05:12:17.677 に答える
0

ここに、日、日付、年、時刻を含む時計の完全な形式の周りの私の作業があります。PC の日付が正しい日付に設定されていることを確認してください。PHP を使用している場合は、php.ini で date.timezone= 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>

于 2021-01-24T13:25:01.903 に答える
-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>
于 2013-04-12T15:26:11.523 に答える