Автор Тема: Парсинг даты/времени  (Прочитано 3790 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Screamer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Парсинг даты/времени
« : 15 Апреля 2002, 19:40:27 »
Как пропарсить дату, введенную пользователем, и превратить ее в timestamp? Причем чтобы она была дуракоустойчивой и понимала даты типа 30,12,2 (с разными разделителями и неполным годом, или вообще без года). А то же самое, но со временем (20\\11\\02 13:45)?

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Парсинг даты/времени
« Ответ #1 : 15 Апреля 2002, 19:47:52 »
лучше сделай ввод даты через select-ы
Или укажи юзеру в каком формате дату вводить, и если формат неправильный, выведи ему всякую руганью

Так будет гораздо проще.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Парсинг даты/времени
« Ответ #2 : 16 Апреля 2002, 00:32:21 »
с уважением,
магистр белой магии.

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
Парсинг даты/времени
« Ответ #3 : 16 Апреля 2002, 10:07:05 »
Цитировать
Причем чтобы она была дуракоустойчивой

Элементрарно: создай поля минута, секунда, час, день, месяц, год :)

$timestamp=mktime("час","минуты","секунды","месяц","день","год");
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн Screamer

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 7
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Парсинг даты/времени
« Ответ #4 : 17 Апреля 2002, 22:02:07 »
Я усложню вопрос. Дело в том, что множество полей на каждый параметр занимает много места и долго вводится, поэтому хотелось бы парсить строку. Я нарисовал такую функцию:

function parse_date($d)
{
  
$pd=preg_match("/(\\d+)[.,\\/\\-]?(\\d+)[.,\\/\\-]?(\\d*)/",$d,$matches);
  if(
$pd)
  {
    if(
count($matches)>&& $matches[3]!=0)
      
$pd=mktime(0,0,0,$matches[2],$matches[1],$matches[3]);
    else
      
$pd=mktime(0,0,0,$matches[2],$matches[1]);
  }
  return 
$pd;
}

Но она не совсем правильно отрабатывает. Как ее усовершенсововать или наоборот, упростить?:insane:

Оффлайн Dm

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1263
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Парсинг даты/времени
« Ответ #5 : 17 Апреля 2002, 22:20:46 »
с уважением,
магистр белой магии.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28