|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 18 Jan 2001 16:40:16 To : Raven Subject : Re: Data -------------------------------------------------------------------------------- В твоём письме от Fri, 05 Jan 2001 15:33:35 +0300 написано: rtran> Ivan Frolcov <frolcov@dsd.fbm.msu.ru> wrote: >>> VB> А как правильно? >>> use POSIX; >>> print strftime("%m/%d/%y",localtime()); VP>> IMHO человек просил не это... Опять же IMHO: VP>> sub getmdate() { VP>> ( -f $file ) ? (my ($day,$mon,$year)=localtime((stat($file))[9])) : VP>> return(); VP>> return(sprintf("%u0.4/%u0.2/%u0.2",$year,$mon,$day)); VP>> } >> Мы в город изумрудный идем дорогой трудной... Вообще, код у тебя какой-то >> такой... э-э... ибо (stat($file))[9] - время в секундах с начала эпохи. >> use POSIX; >> print strftime("%m/%d/%y", localtime( (stat("file"))[9] ) ); rtran> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rtran> Уверен что это сработает? - вообще то localtime отдает массив с 9-ю rtran> элементами... А проверить слабо? А perldoc POSIX прочесть на предмет strftime? rtran> BTW то что выше написано не то же самое делает? Только прагма POSIX не rtran> пользуется... Hе то же. Кто из вас прав, не помню. Hо по крайней мере один выдает не тот формат, который был попрошен. Кроме того, не помню, как в 5.6 (там на эту тему была какая-то фигня у localtime), а на всех предыдущих вариант со sprintf дает год-1900 и месяц-1. strftime рулез как раз тем, что у него малость гарантированный формат выдачи (пока тебе не нужно месяц или день недели словами, просто гарантированный). -- Artem Chuprina E-mail: ran@ran.pp.ru Programmer FIDO: 2:5020/371.32 Memonet Ltd. Phone: +7-095-284-1356 --- slrn/0.9.6.3-as (Linux) * Origin: AKA с подствольным плюсомётом (2:5020/371.32) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/732375e50f3aa.html, оценка из 5, голосов 10
|