![]() |
|
||||||||||
|
|
|
|||||
|
какой функцией в пхп проверять, является ли строка датой?
__________________
~ Never trouble trouble till trouble troubles you! |
|
|||||
|
Регистрация: Dec 2001
Сообщений: 4,159
|
Для начала определись: как бы ты определял, является ли строка датой. Чтобы тебе было проще осознать проблему -- несколько примеров. Все перечисленные строки являются датами:
1. 06.07.2006 2. Jan 12, 2006 3. 01-NOV-2006 4. Первое января года 2006 от Рождества Христова 5. Завтра Итак, что ты понимаешь под "строкой, которая является датой"?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
ну, например, в VBS есть например функция
isDate (exp), которая возвращает да, в любом из вышеперечисленных вариантов, кроме, вариантов 4 и 5. аналог ее меня бы вполне устроил. важно, чтобы функция возвращала да на следующие форматы даты: 1.yyyy-mm-dd 2.mm/dd/yy (американский) 3.dd.mm.yy (русский) ну естественно проверяла, существует ли такой день в календаре. я так понимаю, нада писать свою? никто не подкинет шаблон?
__________________
~ Never trouble trouble till trouble troubles you! |
|
|||||
|
Регистрация: Dec 2001
Сообщений: 4,159
|
Если ты знаешь формат, то вывод очевиден: preg_match для проверки формата и strtotime для собственно перевода.
Весьма рекомендую почитать примечания в документации на strtotime.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
Цитата:
![]() |
|
|||||
|
Регистрация: Dec 2001
Сообщений: 4,159
|
А что здесь смешного?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
А ты знаешь "американский" язык?
![]() |
|
|||||
|
Регистрация: Dec 2001
Сообщений: 4,159
|
Цитата:
1. Есть British English и есть American English. К примеру, оборот have gotten есть только в американском. 2. В исходном сообщении говорится не об американском языке, а об американском формате даты.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++ |
|
|||||
|
сюда же, потому как в тему.
чтоб не изобретать велосипед. нужна функция, вычисляющая интервал между двумя датами в днях и в месяцах. т.е. типа getInterval("2005-01-10","2005-02-01","d"); //21 день января+2 февраля=23 getInterval("2005-01-10","2005-02-01","m"); //2 месяца в интервале что-то я еще не соображу, чем воспользоваться. как прибавить интервал к дате - сообразил, а как вычислить сам интервал - нет (((( ЗЫ: спасибо вам, крези, за "Весьма рекомендую почитать примечания в документации на strtotime". в кометнах то, что надо
__________________
~ Never trouble trouble till trouble troubles you! |
|
|||||
|
все, я кажется вкупил - надо просто из одного timestamp вычесть другой))))
туплю)))) кста.... я действительно имел ввиду не "американский" язык, а американский формат даты
__________________
~ Never trouble trouble till trouble troubles you! |
![]() |
![]() |
Часовой пояс GMT +4, время: 04:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|