Преобразование строки времени в метку времени UNIX - PullRequest
0 голосов
/ 28 июля 2010

Как я могу преобразовать строку времени следующим образом:

30/7/2010

в метку времени UNIX?

Я пытался strtotime(), но получаю пустую строку: (

Ответы [ 5 ]

10 голосов
/ 28 июля 2010

PHP> = 5.3:

$var = DateTime::createFromFormat('j/n/Y','30/7/2010')->getTimestamp();
5 голосов
/ 28 июля 2010

Вы используете британский формат даты.

Быстрый и грязный метод:

$dateValues = explode('/','30/7/2010');
$date = mktime(0,0,0,$dateValues[1],$dateValues[0],$dateValues[2]);
2 голосов
/ 28 июля 2010

Возможно, вы захотите использовать http://us3.php.net/manual/en/function.strptime.php (strptime), так как ваша дата отличается от формата, который может ожидать PHP.

0 голосов
/ 28 июля 2010

Ответ PHP 5.3 был отличным

DateTime::createFromFormat('j/n/Y','30/7/2010')->getTimestamp();

Вот решение <5.3.0 </p>

$timestamp = getUKTimestamp('30/7/2010');

function getUKTimestamp($sDate) {
    list($day, $month, $year) = explode('/', $sDate);
    return strtotime("$month/$day/$year");
}
0 голосов
/ 28 июля 2010

Вы также можете преобразовать его в формат, который может принять strtotime (), например, Y / M / D:

$tmp = explode($date_str);
$converted = implode("/", $tmp[2], $tmp[1], $tmp[0]);
$timestamp = strtotime($converted);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...