سؤال
هل من الممكن إنشاء وظيفة مسج بحيث يحصل التاريخ الحالي والوقت ؟ لقد كنت أبحث الوثائق لكن لم أجد أي شيء حتى الآن...
المحلول
@nickf صحيح.ومع ذلك ، أن يكون قليلا أكثر دقة:
// if you try to print it, it will return something like:
// Sat Mar 21 2009 20:13:07 GMT-0400 (Eastern Daylight Time)
// This time comes from the user's machine.
var myDate = new Date();
حتى إذا كنت ترغب في عرض مثل mm/dd/yyyy, كنت تفعل هذا:
var displayDate = (myDate.getMonth()+1) + '/' + (myDate.getDate()) + '/' + myDate.getFullYear();
تحقق من المرجع الكامل من تاريخ الاعتراض.لسوء الحظ أنها ليست ما يقرب من الجميل أن طباعة صيغ مختلفة كما هو الحال مع غيرها من جانب الخادم اللغات.لهذا السبب هناك-هي-العديد من-وظائف المتاحة في البرية.
نصائح أخرى
وأنت لا تحتاج مسج للقيام بذلك، فقط جافا سكريبت. على سبيل المثال، يمكنك أن تفعل توقيت استخدام هذا:
<body onload="clock();">
<script type="text/javascript">
function clock() {
var now = new Date();
var outStr = now.getHours()+':'+now.getMinutes()+':'+now.getSeconds();
document.getElementById('clockDiv').innerHTML=outStr;
setTimeout('clock()',1000);
}
clock();
</script>
<div id="clockDiv"></div>
</body>
ويمكنك مشاهدة إشارة كاملة هنا: http://www.hunlock.com/blogs/ Javascript_Dates-The_Complete_Reference
وانها جافا سكريبت سهل:
new Date()
ساعة رقمية مع مسج
<script type="text/javascript" src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script> <script type="text/javascript"> $(document).ready(function() { function myDate(){ var now = new Date(); var outHour = now.getHours(); if (outHour >12){newHour = outHour-12;outHour = newHour;} if(outHour<10){document.getElementById('HourDiv').innerHTML="0"+outHour;} else{document.getElementById('HourDiv').innerHTML=outHour;} var outMin = now.getMinutes(); if(outMin<10){document.getElementById('MinutDiv').innerHTML="0"+outMin;} else{document.getElementById('MinutDiv').innerHTML=outMin;} var outSec = now.getSeconds(); if(outSec<10){document.getElementById('SecDiv').innerHTML="0"+outSec;} else{document.getElementById('SecDiv').innerHTML=outSec;}} myDate(); setInterval(function(){ myDate();}, 1000); }); </script> <style> body {font-family:"Comic Sans MS", cursive;} h1 {text-align:center;background: gray;color:#fff;padding:5px;padding-bottom:10px;} #Content {margin:0 auto;border:solid 1px gray;width:140px;display:table;background:gray;} #HourDiv, #MinutDiv, #SecDiv {float:left;color:#fff;width:40px;text-align:center;font-size:25px;} span {float:left;color:#fff;font-size:25px;} </style> <div id="clockDiv"></div> <h1>My jQery Clock</h1> <div id="Content"> <div id="HourDiv"></div><span>:</span><div id="MinutDiv"></div><span>:</span><div id="SecDiv"></div> </div>
وهذه هي طريقتي:
<script type="text/javascript">
$(document).ready(function() {
setInterval(function(){currentTime("#idTimeField")}, 500);
});
function currentTime(field) {
var now = new Date();
now = now.getHours() + ':' + now.getMinutes() + ':' + now.getSeconds();
$(field).val(now);
}
وانها ليست ربما أفضل ولكن للقيام بهذا العمل:)
ومزعج date.getSeconds()
جافا سكريبت ل<م> وآخرون م> لن وحة النتيجة مع الأصفار 11:0:0
بدلا من 11:00:00
.
وهكذا أود أن استخدام
date.toLocaleTimestring()
ما يجعل 11:00:00 AM
. حذار فقط عند استخدام خيارات اضافية، وبعض المتصفحات لا تدعم لهم (سفاري)