【问题标题】:Show localtime but not server's time in PHP [duplicate]在PHP中显示本地时间但不显示服务器时间[重复]
【发布时间】:2018-01-23 06:49:51
【问题描述】:

我有一个注册页面,我想在上面显示当前位置的时间和日期(不是服务器的)。除此之外,当用户注册自己时,我希望日期以亚洲/加尔各答格式保存。这如何在 php 中实现?我环顾四周,但只找到了以亚洲/加尔各答格式保存数据的解决方案,而不是将时间显示为本地时间(不是服务器时间)。任何见解都会非常有帮助和赞赏。

【问题讨论】:

  • 是否必须在 PHP 中?如果您使用 Javascript 来确定用户机器上的时间,并以您想要的格式将其发送到您的服务器,您会自动获取用户的本地时间,并且您可以转换它(如果需要)或在您想要的新时间戳时区
  • 你想要什么?你的机器时间?
  • @AnandPandey 是的,无论它在哪里,我都需要用户的系统时间
  • @JoSSte 我发现这将用 JS 实现。所以很期待

标签: php datetime


【解决方案1】:

您无法在 php 中获取本地机器时间,因为它是一种服务器端语言。您应该为此尝试使用javascript:

只需实例化一个新的 Date 对象

var now = new Date(); 
var today = now.toDateString();
alert(today);

这将使用客户端的本地时间创建一个新的 Date 对象。

如果你想要你想要的输出,你必须使用 jquery 作为时间戳

$(document).ready(function(e) {
    var newDate = parseInt((new Date().getTime()/1000).toFixed(0));
});

它在 js 中给出了时间戳,所以你必须在下面的 php 脚本中使用 'newDate' 值。

<?php
 echo gmdate("l, j F, Y", $newDate);
?>

【讨论】:

  • 我试过这个。谢谢你的时间。但这给出了“2018 年 1 月 23 日星期二 12:26:47 GMT+0530(印度标准时间)”。我只想得到“Tue Jan 23 2018”。这可能吗?对不起,我对 JS 很幼稚。类似于“2018 年 1 月 23 日,星期二”
  • 是的,有可能。我会在 5 分钟内更新我的答案
  • 感谢您的努力。但不知何故,它不是所需的格式。正如我提到的,我希望显示为Tuesday, 23rd January , 2018 格式。
  • 再次感谢您。在一定程度上解决了,但不完全是我想要的。这是我得到的Tue Jan 23 2018,我希望它是Tuesday, 23rd January , 2018
  • 还有什么办法吗?因为我想得到那个结果。
【解决方案2】:

$_SERVER 是一个包含标题、路径、脚本位置信息的数组。 Web 服务器在数组中创建条目。这并不能保证每个 Web 服务器都会提供类似的信息,而是某些服务器可能包含或排除某些信息。

可能会尝试获取客户信息:

$dt=$_SERVER['REQUEST_TIME'];
$dt = new DateTime("@$dt");  // convert UNIX timestamp to PHP DateTime
echo $dt->format('Y-m-d H:i:s'); // output = 2017-01-01 00:00:00

//更多服务器信息

PHP : $_SERVER['REQUEST_TIME']    
PHP : $_SERVER['PHP_SELF']
PHP : $_SERVER['argv']
PHP : Super global variable: $argc
PHP : $_SERVER['GATEWAY_INTERFACE']
PHP : $_SERVER['SERVER_ADDR']
PHP : $_SERVER['SERVER_NAME']
PHP : $_SERVER['SERVER_SOFTWARE']
PHP : $_SERVER['SERVER_PROTOCOL']
PHP : $_SERVER['REQUEST_METHOD']
PHP : $_SERVER['QUERY_STRING']
PHP : $_SERVER['HTTP_ACCEPT']
PHP : $_SERVER['HTTP_ACCEPT_CHARSET']
PHP : $_SERVER['HTTP_HOST']
PHP : $_SERVER['REMOTE_PORT']
PHP : $_SERVER['SCRIPT_FILENAME']
PHP : $_SERVER['SERVER_ADMIN']
PHP : $_SERVER['SERVER_PORT']
PHP : $_SERVER['SERVER_SIGNATURE']
PHP : $_SERVER['PATH_TRANSLATED']
PHP : $_SERVER['SCRIPT_NAME']
PHP : $_SERVER['SCRIPT_URI']

参考http://php.net/manual/en/reserved.variables.server.php https://www.w3resource.com/php/super-variables/$_SERVER.php

【讨论】:

    猜你喜欢
    • 2017-02-19
    • 2017-01-14
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多