Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   не могу найти в документации (http://www.flasher.ru/forum/showthread.php?t=76596)

Chas 08.03.2006 18:38

не могу найти в документации
 
какой функцией в пхп проверять, является ли строка датой?

Crazy 08.03.2006 18:57

Для начала определись: как бы ты определял, является ли строка датой. Чтобы тебе было проще осознать проблему -- несколько примеров. Все перечисленные строки являются датами:

1. 06.07.2006
2. Jan 12, 2006
3. 01-NOV-2006
4. Первое января года 2006 от Рождества Христова
5. Завтра

Итак, что ты понимаешь под "строкой, которая является датой"?

Chas 08.03.2006 19:53

ну, например, в VBS есть например функция
isDate (exp), которая возвращает да, в любом из вышеперечисленных вариантов, кроме, вариантов 4 и 5. аналог ее меня бы вполне устроил. :D
важно, чтобы функция возвращала да на следующие форматы даты:
1.yyyy-mm-dd
2.mm/dd/yy (американский)
3.dd.mm.yy (русский)
ну естественно проверяла, существует ли такой день в календаре.

я так понимаю, нада писать свою? никто не подкинет шаблон?

Crazy 08.03.2006 20:03

Если ты знаешь формат, то вывод очевиден: preg_match для проверки формата и strtotime для собственно перевода.

Весьма рекомендую почитать примечания в документации на strtotime.

Ha Emmid 08.03.2006 22:31

Цитата:

Сообщение от Chas
2.mm/dd/yy (американский)

Ох, не могу... :D :D :D

Crazy 08.03.2006 22:38

А что здесь смешного?

Ha Emmid 08.03.2006 22:47

А ты знаешь "американский" язык? ;)

Crazy 08.03.2006 22:51

Цитата:

Сообщение от Ha Emmid
А ты знаешь "американский" язык? ;)

JFYI:

1. Есть British English и есть American English. К примеру, оборот have gotten есть только в американском.
2. В исходном сообщении говорится не об американском языке, а об американском формате даты.

Niketas 09.03.2006 02:07

Что-то мне тоже не смешно.

Ha Emmid 09.03.2006 14:45

Ну не сммешно так не смешно, значит буду смеяться один ;)

Chas 09.03.2006 18:46

сюда же, потому как в тему.
чтоб не изобретать велосипед.
нужна функция, вычисляющая интервал между двумя датами в днях и в месяцах.
т.е. типа
getInterval("2005-01-10","2005-02-01","d"); //21 день января+2 февраля=23
getInterval("2005-01-10","2005-02-01","m"); //2 месяца в интервале

что-то я еще не соображу, чем воспользоваться. как прибавить интервал к дате - сообразил, а как вычислить сам интервал - нет ((((

ЗЫ: спасибо вам, крези, за "Весьма рекомендую почитать примечания в документации на strtotime". в кометнах то, что надо

Chas 09.03.2006 19:01

все, я кажется вкупил - надо просто из одного timestamp вычесть другой))))
туплю))))
кста.... я действительно имел ввиду не "американский" язык, а американский формат даты

Antares 09.03.2006 20:14

Цитата:

Сообщение от Crazy
JFYI:
1. Есть British English и есть American English. К примеру, оборот have gotten есть только в американском.

Крезь, насколько я знаю, не только. Это НЕ одно и то же с have got, однако есть в обоих вариантах.
Впрочем, я не лингвист, хоть и изучаю английский вот уже 14 лет...

Antares 09.03.2006 20:15

И еще: "американский формат даты" используется также и в Европе, Канаде, а также Океании.

Crazy 09.03.2006 23:17

Цитата:

Сообщение от Antares
Крезь, насколько я знаю, не только. Это НЕ одно и то же с have got, однако есть в обоих вариантах.
Впрочем, я не лингвист, хоть и изучаю английский вот уже 14 лет...

А спорим, я круче тебя по неспособности к языкам? :) Я изучаю английский с 1981г и... как бы помягче... ну совсем не лингвист. :)

Поэтому я открываю книжку (Collins Cobuild, English Usage, стр. 276) и читаю:

Цитата:

In spoken American English, gotten is often used as the past participle of 'get'. It is used to mean 'obtained', 'received', or 'caused to be'.

... здесь были подробности об использовании ...

In British English and formal American English, the past participle of 'get' is got, not 'gotten'.

Antares 10.03.2006 01:08

Мне нечего открыть, я помню лишь слова профессионала-лингвиста, у которой занимался. И разница там была в первую очередь в употреблении have got / gotten to в нужных случаях.

Так что как отдельное слово, возможно, только в одном варианте :)

Skubent 10.03.2006 12:12

Когда флудят модеры (с)


Часовой пояс GMT +4, время: 05:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.