首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将日期时间转换为unix命令日期

如何将日期时间转换为unix命令日期
EN

Stack Overflow用户
提问于 2014-10-10 07:21:30
回答 3查看 577关注 0票数 0

如何将2014-10-10T04:13:24+00:00 2014-10-10 04:13:24转换为php或mysql中的

上述日期是sitemaps中xml格式的日期。

为参考起见,请检查问:我如何计算最后一个日期?(Sitemaps.org常见问题解答)

我尝试过的代码:

代码语言:javascript
复制
    echo "GIVEN DATE ".$timestamp = "2014-10-10 04:13:24";
echo "<br>";

$year = date('Y',strtotime($timestamp)).";
$month = date('m',strtotime($timestamp)).";
$day = date('d',strtotime($timestamp))."";
echo '<br>';
$hour = date('H',strtotime($timestamp))."";
$minutes = date('i',strtotime($timestamp))."";
$seconds = date('s',strtotime($timestamp))."<br>";


$gmktime= gmmktime($hour,$minutes,$seconds,$month,$day,$year)."<br>";

echo "output date".$isodate = date('c', $gmktime);

以上输出转换正确吗?

**产出**给定日期: 2014-10-10 04:13:24产出日期:2014-10-10 T06:13:24+02:00

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-10 07:30:06

PHP5

代码语言:javascript
复制
<?php
// Set the default timezone
date_default_timezone_set('UTC');


// Get Unix timestamp for a date
// Reference: mktime(hour, minute, second, month, day, year)
$time = mktime(04, 13, 24, 10, 10, 2014);

// Alternatively (must be a valid English date format)
$time = strtotime('2014-10-10 04:13:24');


// ISO 8601 date (added in PHP 5)
$isodate = date('c', $time);

echo $isodate; // 2014-10-10T04:13:24+00:00


// RFC 2822 formatted date
$rfcdate = date('r', $time);

echo $rfcdate; // Fri, 10 Oct 2014 04:13:24 +0000
?>

参考文献:

  • 日期() / gmdate()
  • mktime() / gmmktime()
  • 标准时间()支持的日期和时间格式
  • set()支持的时区列表
  • ISO 8601
  • RFC 2822
票数 0
EN

Stack Overflow用户

发布于 2014-10-10 12:18:30

根据Sitemaps.org规范,您的输出是正确的。"2014-10-10T06:13:24+02:00“与"2014-10-10T04:13:24+00:00”的日期/时间相同。

了解更多关于由W3C日期时间编码使用的Sitemaps.org的信息。

另外,不要用date函数来解决这个问题,用string函数/操作来解决这个问题:在一个固定的位置改变一个字符串中的单个字节,然后追加一个字符串:

代码语言:javascript
复制
$timestamp = "2014-10-10 04:13:24";
$timestamp[10] = "T";
$timestamp .= "+00:00";

echo $timestamp, "\n"; // 2014-10-10T04:13:24+00:00

或者,如果您想在文件中保存一些字节,请使用"Z“而不是"+00:00”来表示时区:

代码语言:javascript
复制
$timestamp = "2014-10-10 04:13:24";
$timestamp[10] = "T";
$timestamp .= "Z";

echo $timestamp, "\n"; // 2014-10-10T04:13:24Z
票数 1
EN

Stack Overflow用户

发布于 2014-10-10 07:25:57

PHP中的

在PHP中,您可以使用strptime()解析时间并将其转换为结构化数组。然后将其结果传递到mktime()函数中,以获得UNIX时间戳。

In MySQL

使用时间戳

代码语言:javascript
复制
SELECT UNIX_TIMESTAMP(datetime_column) FROM table;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26293972

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档