كيفية توفير قيمة إلى جافا سكريبت طريقة التاريخ.setTime() من PHP?

StackOverflow https://stackoverflow.com/questions/511721

  •  21-08-2019
  •  | 
  •  

سؤال

هل حان الوقت()?هل حان الوقت().substr(microtime(), 2, 2)?هل حان الوقت().substr(microtime(), 2, 3)?

نوع من خسر مع المقتطف التالي.

function updateClock ( ) {
    var timeStamp = <?php echo time().substr(microtime(), 2, 2);?>;
    var currentTime = new Date ( );
    currentTime.setTime( timeStamp );

    ...
    ...
}

هدفي هو استخدام ملقم الوقت والبدء يمر من هناك على العميل نافذة المتصفح.رمز أعلاه إما بإرجاع الحالية الكمبيوتر العميل الوقت أو في وقت ما في عام 1973.أعتقد أنني لست على حق الطابع الزمني شكل setTime()?

وذلك بفضل!

  • 1000

حاولت ذلك ولكن صفحة ويب لا يزال يظهر المحلية الوقت بعد تحميل js.php (تقديم شفرة جافا سكريبت) إلى الخادم.الخادم هو تقريبا 12 ساعة مختلفة في الوقت مني.تخميني هو أن لا php يأخذ العميل الوقت في حساب وقت تشغيل() ?أعني المتصفحات لا ترسل طلب وقت أباتشي صحيح ؟

أنا نسخت الوقت() * 1000 إرجاع قيمة من صفحة ويب تعمل على الخادم و لصقه في الصفحة المحلية:

<script type="text/javascript">

var d = new Date();
d.setTime(1233760568000);
document.write(d);

</script>

وانها في الواقع بلدي بالتوقيت المحلي.وبالتالي أعتقد.

هناك على أية حال تحديد المنطقة الزمنية time()?

هل كانت مفيدة؟

المحلول

تاريخ.setTime يتوقع عدد من ميلي ثانية منذ 1970-1-1.php وظيفة الوقت ينتج عدد من ثانية منذ 1970-1-1.لذلك يمكنك فقط استخدام

var TimeStamp = <?php echo time()*1000;?>

بسبب قضايا الكمون (المتصفحات يحتاج إلى تحميل الصفحة بالكامل قبل البدء في جافا سكريبت) ، عادة الانجراف واحد أو بضعة ثوان على الرغم من.

نصائح أخرى

ضرب من قبل 1000.جافا سكريبت تتوقع ميلي ثانية في حين PHP يعود ثانية.

تاريخ.setTime() يريد ميلي ثانية منذ Unix عهده و الوقت() ترجع ثانية منذ ذلك الحين.إن الدقة المطلقة غير مطلوب (ونظرا المنهجية الخاصة بك, أنا لا أعتقد أنه هو) فقط مضاعفة القيمة التي تحصل من() 1000.

تحرير:للضرب مرتين... تبا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top