Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 转换日期格式1542575966120 2018年11月18日_Php - Fatal编程技术网

Php 转换日期格式1542575966120 2018年11月18日

Php 转换日期格式1542575966120 2018年11月18日,php,Php,我有一个数据库,显示用户最后一次登录的时间,然后显示1542575966120。我想让它显示2018年11月18日19:00 我试着在php中使用它 $intDate = "20". $ infologado ["lastlogin"]; $newDate = date ("d-m-Y", strtotime ($ intDate)); 但我不能 抱歉用英语正如@Taha Paksu所提到的,这些数字是时间戳(自1970年1月1日起的秒数)。请尝试以下代码: $intDate = 15425

我有一个数据库,显示用户最后一次登录的时间,然后显示1542575966120。我想让它显示2018年11月18日19:00

我试着在php中使用它

$intDate = "20". $ infologado ["lastlogin"];

$newDate = date ("d-m-Y", strtotime ($ intDate));
但我不能


抱歉用英语

正如@Taha Paksu所提到的,这些数字是时间戳(自1970年1月1日起的秒数)。请尝试以下代码:

$intDate = 1542575966120;
$newDate = date('d/m/Y H:i', $intDate/1000);
以毫秒为单位,日期函数接受秒,因此除以1000。也无需将其放入strotime,因为此函数旨在将字符串日期转换为。。。表示数字时间戳


在您的情况下,您可以将
$intDate=$infologado['lastlogin']而不是从数据库中动态获取结果的第一行。

首先,您需要了解时间戳是什么。时间戳是一个数字,显示自历元(1970年1月1日)以来经过的秒数(或毫秒,有些也包括毫秒)。可在此处找到一般定义:

Unix历元(或Unix时间或POSIX时间或Unix时间戳)是自1970年1月1日(UTC/GMT午夜)以来经过的秒数,不包括闰秒(在ISO 8601:1970-01-01T00:00:00Z中)。从字面上讲,epoch是Unix时间0(1970年1月1日午夜),但“epoch”通常用作“Unix时间”的同义词。许多Unix系统将历元日期存储为带符号的32位整数,这可能会导致2038年1月19日出现问题(称为2038年问题或Y2038年)。 此页上的转换器将以秒、毫秒和微秒为单位的时间戳转换为可读日期

摘自:一种可以将日期转换为时间戳或时间戳转换为日期的工具

然后,为了回答您的问题,系统将日期作为时间戳保存到数据库中,以(可能)绕过使用它的每个不同系统上的格式错误

奈弗明;博士: 当您将数字提供给我上面提到的时间戳转换器时,数字显示为2018年11月18日星期日21:19:26.120。使用PHP,您可以使用:

$unixTimestamp = 1542575966120;
$dt = DateTime::createFromFormat("U.u", $unixTimestamp / 1000);
var_dump($dt);

若要转换为类,则可以在应用程序中使用它。

如果您真的在使用它,那么它会出现语法错误,难怪它不起作用(所有这些空格,尤其是变量名的$后面)。还有,为什么要在时间戳前加20?除此之外,这段代码还可以正常工作。@p0358可能他刚刚学会了时间戳是什么。好一点,我不是故意装傻的,如果是这样的话,我很抱歉。我的意思是,这段代码不工作的原因很小。@p0358我使用了翻译,所以空格谢谢你,你帮了我很多。如果以毫秒为单位,我不知道格式如何