2016-07-14 6 views
0

Was mache ich falsch? Ich habe alle möglichen verschiedenen Funktionen ausprobiert, aber ich kann es immer noch nicht zur Arbeit bringen. Gibt es etwas, das mir fehlt?Javascript Datum Button

<body> 
    <button onclick="displayDate()">Click Here To See The Date</button> 
</body> 

function displayDate() 
{ 
today = " "; 
ampm = " "; 
dayNum = getDate(); 
month = getMonth(); 
year = getFullYear(); 
minute = getMinutes(); 
hour = getHours(); 
day = getDay(); 

ampm (hour < 12) ? " a.m." : " p.m."; 
hour = (hour > 12) ? hour - 12 : hour; 
hour = (hour == 0) ? 12 : hour; 
minute = (minute < 10) ? "0" + minute : minute; 
greeting = (hour < 12) ? "Good Morning,"; 
greeting = (hour >= 12 && hour < 17) ? "Good Afternoon,"; 
greeting = (hour >= 17) ? "Good Evening,"; 
month = (month == 0) ? "January"; 
month = (month == 1) ? "February"; 
month = (month == 2) ? "March"; 
month = (month == 3) ? "April"; 
month = (month == 4) ? "May"; 
month = (month == 5) ? "June"; 
month = (month == 6) ? "July"; 
month = (month == 7) ? "August"; 
month = (month == 8) ? "September"; 
month = (month == 9) ? "October"; 
month = (month == 10) ? "November"; 
month = (month == 11) ? "December"; 
day = (day == 0) ? "Sunday"; 
day = (day == 1) ? "Monday"; 
day = (day == 2) ? "Tuesday"; 
day = (day == 3) ? "Wednesday"; 
day = (day == 4) ? "Thursday"; 
day = (day == 5) ? "Friday"; 
day = (day == 6) ? "Saturday"; 

today = greeting + " it is " + hour + ":" + minute + " " + ampm + " on " + month + " " + dayNum + ", " + year + "."; 

return window.alert(today); 
} 
+1

Anstelle der Verwendung von ternären Operatoren für jeden Tag und Monat sagen können, sollten Sie [ 'Schalter'] (http : //www.w3schools.com/js/js_switch.asp). – bnahin

Antwort

0

Sie haben einen Fehler an jedem ternär Sie greeting = (hour < 12) ? "Good Morning,"; verwenden sollte greeting = (hour < 12) ? "Good Morning," : 'Good afternoon';

Auch sein Sie Ihren Code in jeder Entwickler-Tool-Konsole in Ihrem Browser, um Ihre Fehler überprüfen einfügen können!

0

Es gibt einige Fehler in Ihrer js-Funktion. Probieren Sie etwas wie

function displayDate() { 

    var MONTHS = { 
     0: "January", 
     1: "February", 
     2: "March", 
     3: "April", 
     4: "May", 
     5: "June", 
     6: "July", 
     7: "August", 
     8: "September", 
     9: "October", 
     10: "November", 
     11: "December" 
    }; 

    var DAYS = { 
     0: "Sunday", 
     1: "Monday", 
     2: "Tuesday", 
     3: "Wednesday", 
     4: "Thursday", 
     5: "Friday", 
     6: "Saturday", 
    }; 

    var today = " "; 
    var ampm = " "; 
    var date = new Date(); 
    var dayNum = date.getDay(); 
    var month = date.getMonth(); 
    var year = date.getFullYear(); 
    var minute = date.getMinutes(); 
    var hour = date.getHours(); 
    var day = date.getDay(); 



    ampm = (hour < 12) ? " a.m." : " p.m."; 
    hour = (hour > 12) ? hour - 12 : hour; 
    hour = (hour == 0) ? 12 : hour; 
    minute = (minute < 10) ? "0" + minute : minute; 

    var greeting = (hour < 12) ? "Good Morning," : (hour >= 12 && hour < 17) ? "Good Evening," : (hour >= 17) ? "Good Evening," : "Good Evening,"; 

    today = greeting + " it is " + hour + ":" + minute + " " + ampm + " on " + MONTHS[month] + " " + DAYS[dayNum] + ", " + year + "."; 

    return window.alert(today); 

} 
+0

MONATE und TAGE können Arrays sein und "Stunde = Stunde% 12 ||" berücksichtigen 12'. Schließlich, da Sie die Stunde auf 12 Stunden einstellen, wird "Stunde> = 17" niemals wahr sein und 12:00 Uhr wird "Guten Abend" zurückkehren. Auch viel hilfreicher, um die Fehler aufzuzeigen und wie Sie sie behoben haben, anstatt nur Code zu veröffentlichen. – RobG

0

this tiny library Verwenden Sie einfach "It is " + clock.what.time(now) + " on " + clock.what.month(now) + " " + clock.what.day(now) + ", " + clock.what.year(now) + "."

var btn = document.getElementById('btn'); 
 
var node = document.createElement("div"); 
 
node.id = "node"; 
 

 
btn.addEventListener("click", function(){ 
 
    var now = clock.now; 
 
    node.innerHTML = ''; 
 
    var str = "It is " + clock.what.time(now) + " on " + clock.what.month(now) + " " + clock.what.day(now) + ", " + clock.what.year(now) + "."; 
 
    var textnode = document.createTextNode(str); 
 
    node.appendChild(textnode); 
 
    document.body.appendChild(node); 
 
});
#node{ 
 
    text-transform:capitalize; 
 
}
<script src="https://rack.pub/clock.min.js"></script> 
 
<button id="btn">Time</button>