PHP текущая дата, вчерашнее время на основе DateTime (); - PullRequest
0 голосов
/ 10 ноября 2011

В основном в моей базе данных MySQL. Существует поле базы данных под названием «время», которое установлено как Datetime.

$today = "";
$yesterday = "";
$currentmonth = "";
$lastmonth = "";

Как получить следующие переменные на основе Datetime (); записи появляются со временем примерно так (я думал о замене строки после стольких символов, но скорость - это проблема?)

2011-11-10 11:59:45
2011-11-10 11:57:12
2011-11-10 11:55:29
2011-11-10 11:54:55
2011-11-10 11:54:21

Ответы [ 2 ]

1 голос
/ 10 ноября 2011

Вы можете попробовать это:

$time = strtotime("2011-11-10 11:59:45");
$day = date("d",$time);
$month = date("m",$time);
$year = date("Y",$time);

Вы можете использовать date("d")+1 or date("d")-1, чтобы получить послезавтра или вчерашнюю дату. То же самое касается месяца и года.

0 голосов
/ 10 ноября 2011

Вы можете использовать функции php datetime для добавления или удаления номеров дней / часов и т. Д. По мере необходимости.

Вы также можете затем отформатировать дату и время, чтобы отображать только месяц или день.

Это форматирует его: http://www.php.net/manual/en/datetime.format.php

Это изменяет его: http://www.php.net/manual/en/datetime.add.php

Это создает его: http://www.php.net/manual/en/datetime.createfromformat.php

Так что вы можете сделать что-то вроде:

$timeString = "2011-11-10 11:54:21";
$today= date_create_from_format('Y-m-d H:i:s', $timeString);
$yesterday = date_add($today, date_interval_create_from_date_string('-1 day'));
$currentMonth = date_format($today, 'm');
$lastMonthDate = date_add($today, date_interval_create_from_date_string('-1 month'));
$lastMonth= date_format($lastMonthDate , 'm');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...