2010-05-13 3 views
1

Я беру данные кредитной карты, и я беру дату истечения срока действия в двух формах, один для месяца истечения срока действия и один год окончания, я хочу сохранить дату истечения срока как отметку времени. Будет ли strtotime("05/2010") создать отметку времени или мне нужно пройти день, или есть альтернатива?php strtotime() некоторая помощь

Благодаря

ответ

2

Нет, это не будет работать, strtotime("05/2010") вернется false. Вам также нужно указать день. Однако в этом случае есть двусмысленность, так как strtotime("01/05/2010") означает 1 мая 2010 года или 5 января 2010 года? и т. д.

Возможно, вам лучше использовать mktime() вместо strtotime(), так как вы можете указать, какие части являются месяцем и годом, а затем просто передать 1 как день.

$timestamp = mktime(0,0,0,$month,1,$year); // Where $month = 5, $year = 2010 
1

Лучше использовать указываете ей(): указываете ей (0, 0, 0, $ месяц, 1, $ в год)

Это создаст временную метку для 1-й день данного месяца в данный год с 00:00:00.

0

Если вы передадите «1» в качестве дня, ваше программирование приведет к истечению срока действия кредитной карты в первый месяц. Это не стандартная практика, которая заключается в том, что срок действия карты истекает в последний день месяца. Последний из месяца можно найти с помощью PHP date ('t').

Возможно, эта статья будет видна вам (надеюсь, что так). Он учит большей части того, что вам нужно знать о обработке значений DATETIME в PHP.

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_201-Handling-date-and-time-in-PHP-and-MySQL.html

С наилучшими пожеланиями, ~ Ray