php strtotime () некоторая помощь - PullRequest
1 голос
/ 13 мая 2010

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

Спасибо

Ответы [ 3 ]

2 голосов
/ 13 мая 2010

Нет, это не сработает, 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 голос
/ 13 мая 2010

Лучше использовать mktime (): mktime (0, 0, 0, $ month, 1, $ year)

Будет сгенерирована временная метка на 1-й день данного месяца в данном году со временем 00: 00: 00.

0 голосов
/ 16 декабря 2012

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

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

http://www.experts -exchange.com / Web_Development / Web_Languages-стандарты / PHP / A_201-Handling-даты и времени в PHP-и-MySQL.html-

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

...