Как преобразовать дату и время в дату команды Unix

Как мне конвертировать 2014-10-10 04:13:24 в 2014-10-10T04: 13: 24 + 00: 00 в php или mysql

Вышеупомянутая дата для формата xml в файлах сайта

Для проверки справки Q: Как мне вычислить дату последнего изменения? (FAQ по Sitemaps.org)

код, который я попробовал:

    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);

Является ли приведенное выше преобразование правильным?

**OUTPUT**

GIVEN DATE : 2014-10-10 04:13:24

output date : 2014-10-10T06:13:24+02:00

0

Решение

PHP 5:

<?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
?>

Рекомендации:

0

Другие решения

Ваш вывод верно в свете спецификаций Sitemaps.org. «2014-10-10T06:13:24+02:00«та же дата / время, что и»2014-10-10T04:13:24+00:00».

Узнайте больше о W3C Datetime кодирование который используется Sitemaps.org.

Кроме того, не решайте это с помощью функций даты, решайте это с помощью строковых функций / операций: вы изменяете один байт внутри строки в фиксированной позиции, а затем добавляете строку:

$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«обозначить часовой пояс:

$timestamp = "2014-10-10 04:13:24";
$timestamp[10] = "T";
$timestamp .= "Z";

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

В PHP

В PHP вы используете strptime () разобрать время и превратить его в структурированный массив. Затем передайте результаты этого в указываете ей () функция для получения метки времени UNIX.

В MySQL

использование UNIX_TIMESTAMP

SELECT UNIX_TIMESTAMP(datetime_column) FROM table;
0
По вопросам рекламы [email protected]