| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > strftime + no locale |
| Автор: klem4 23.3.2010, 22:57 | ||
Как заставить strftime не использовать текущую локаль ? no locale и приведенный ниже вариант не помогают ...
$ perl test.pl Вторник, 23-Март-10 23:00:30 локаль консоли ru_RU.UTF-8. Спасибо. |
| Автор: vadiml 24.3.2010, 00:39 |
| $ set | grep LANG LANG=ru_RU.UTF-8 LANGUAGE= $ perl -MPOSIX -e 'print strftime("%A, %d-%B-%y %H:%M:%S", localtime(time)), "\n"' Вторник, 23-Март-10 23:35:12 $ LANG=C perl -MPOSIX -e 'print strftime("%A, %d-%B-%y %H:%M:%S", localtime(time)), "\n"' Tuesday, 23-March-10 23:35:06 |
| Автор: amg 24.3.2010, 06:19 |
| Переменные окружения можно попробовать задать и внутри скрипта: $ENV{LC_ALL} = 'C'; |
| Автор: krypt3r 24.3.2010, 07:00 | ||
хм, а у меня код ТС-а, выдал ожидаемый результат
А вот использование %ENV как раз и не повлияло ни на что. ЗЫ. Локаль, естественно, ru_RU.UTF-8 |
| Автор: arto 24.3.2010, 07:11 |
| perldoc perllocale, LC_TIME |
| Автор: klem4 24.3.2010, 12:07 |
| Кроме изменение LANG непосредственно в консоли, ничего пока не помогает ... |
| Автор: arto 24.3.2010, 13:11 |
| # LC_ALL=ru_RU.UTF8 perl -MPOSIX=strftime,locale_h -le 'print strftime "%A, %d-%B-%y %H:%M:%S",localtime' Среда, 24-Март-10 12:10:16 # LC_ALL=ru_RU.UTF8 perl -MPOSIX=strftime,locale_h -le 'setlocale (LC_TIME,"C"); print strftime "%A, %d-%B-%y %H:%M:%S",localtime' Wednesday, 24-March-10 12:11:7 |
| Автор: klem4 24.3.2010, 20:07 |
| Всем спасибо. Модерам просьба поставить arto +1. В итоге правда через реплэйсы сделал функцию, а потом вообще другим путем пошел. Но знание все равно сила |
| Автор: JackYF 24.3.2010, 20:16 |
Сделано. |