| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > конвертировать русские даты в цифровой формат |
| Автор: Suppir 15.7.2010, 13:09 |
| Привет! Есть строки вида "3 января 2010 г.", "12 мая 2010 года", Строки нужно преобразовать в "03.01.2010", "12.05.2010" Есть следующая страшная функция: sub convertDate{ $a = $_[0]; $a =~ s/(\d) января (\d)/$1.01.$2/; $a =~ s/(\d) февраля (\d)/$1.02.$2/; $a =~ s/(\d) марта (\d)/$1.03.$2/; $a =~ s/(\d) апреля (\d)/$1.04.$2/; $a =~ s/(\d) мая (\d)/$1.05.$2/; $a =~ s/(\d) июня (\d)/$1.06.$2/; $a =~ s/(\d) июля (\d)/$1.07.$2/; $a =~ s/(\d) августа (\d)/$1.08.$2/; $a =~ s/(\d) сентября (\d)/$1.09.$2/; $a =~ s/(\d) октября (\d)/$1.10.$2/; $a =~ s/(\d) ноября (\d)/$1.11.$2/; $a =~ s/(\d) декабря (\d)/$1.12.$2/; $a = "0$a" if $a=~ /^\d\./; $a =~ s/(\d{4})\s*г?о?д?а?\./$1/; return $a } Как записать более элегантно? |
| Автор: arto 15.7.2010, 14:24 |
| через хэш? |
| Автор: sir_nuf_nuf 15.7.2010, 15:03 | ||
|
| Автор: Suppir 16.7.2010, 11:38 |
| sir_nuf_nuf, то что нужно, спасибо! |