时区 PHP 刷新

Time zone PHP refresh

我需要每秒刷新一次我的时区。

我有这个代码:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London')); echo
$now->format("H:i:s A");

我想在我的服务器上按时区(州)显示时间,并刷新。

喜欢这段代码,但我的时区状态如 Europe/London 或其他状态:

<script type="text/javascript"> 
function display_c(){
    var refresh=1000; // Refresh rate in milli seconds
    mytime=setTimeout('display_ct()',refresh)
}

function display_ct() {
    var strcount
    var x = new Date()
    document.getElementById('ct').innerHTML = x;
    tt=display_c();
}
</script>


<body onload=display_ct();>
<span id='ct' ></span>

所以有 JavaScript 显示 DateTimeZone('America/New_York') 和刷新时间的代码吗?

示例:http://www.thetimenow.com/canada

我找到了这个 var java 脚本但是它是错误的任何人都可以 corecet 这个代码

    <script>
var server_name = "www.site.com";
var time_format = '24';

var timezones = ["America/Montreal","Etc/GMT+5","Etc/GMT+4","Etc/GMT+6","Etc/GMT+5","Etc/GMT+8","Etc/GMT+7","GMT","UTC"];
document.writeln(" $date = new DateTime($ref['lastupdated']); "); 
document.writeln(" $date->setTimezone(new DateTimeZone('America/Los_Angeles')); "); 

var current_time = {"America/Montreal":["<? print date("H", time())?>","<? print date("i", time())?>","<? print date("s", time())?>","<? print date("l", time())?>","<? print date("F", time())?>","<? print date("d", time())?>","<? print date("Y", time())?>"]]};


</script

真正的代码php是

<?Php

$date = new DateTime($ref['lastupdated']);
$date->setTimezone(new DateTimeZone('America/Los_Angeles'));
echo $date->format('m/d/y g:i:s a');
?>

在 php

中更新源
<?php
echo "<div id=\"output\"></div>";
echo "<script type='text/javascript'>
( function()
{ 
// use JavaScript Date to display current date
// in a div (#displayJsDate)
var output = document.getElementById('output');


var start = moment("<? print date("c")?>");
var delta = start - moment();

setInterval(function(){
    var now = moment().add(delta,'ms');
    var m = now.tz('$data[zone]');    // Set the time zone as desired
    var s = m.format('YYYY-MM-DD h:mm:ss A');
    output.innerHTML = s;
}, 1000);
})();
</script>";



?>

您可以使用 setTimeout() 创建一个递归 javascript 函数来持续更新当前时间。参见 this example

这与PHP无关。您需要一个了解时区的 JavaScript 库。

例如,使用moment-timezone,你可以这样做:

var output = document.getElementById("output");

var start = moment("2015-01-01T00:00:00Z"); // Current time UTC value from server
var delta = start - moment();

setInterval(function(){
    var now = moment().add(delta,'ms');
    var m = now.tz("America/New_York");    // Set the time zone as desired
    var s = m.format("YYYY-MM-DD h:mm:ss A");
    output.innerHTML = s;
}, 1000);
<script src="//momentjs.com/downloads/moment.min.js"></script>
<script src="//momentjs.com/downloads/moment-timezone-with-data-2010-2020.min.js"></script>
<div id="output"></div>

jsFiddle