Подскажите пожалуйста как узнать время создания файла в Perl?
>Подскажите пожалуйста как узнать время создания файла в Perl?
perldoc -f stat
>>Подскажите пожалуйста как узнать время создания файла в Perl?
>perldoc -f statТак stat выдает что-то типа 1046897564, a как из секунд в нормальный формат перевести, что отдельную программу писать?
>>>Подскажите пожалуйста как узнать время создания файла в Perl?
>>perldoc -f stat
>Так stat выдает что-то типа 1046897564, a как из секунд в нормальный
>формат перевести, что отдельную программу писать?
perldoc -f localtime
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) = stat($filename);
===========
#0 1 2 3 4 5
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
====
@time = localtime($ctime);#ctime from stat();
$year = 1900 + $time[5];
$month = 1+ $time[4];
$day = $time[3];
Большущее спасибо! Чесно говоря даже и не ожидал так подробно все получить. Еще раз спасибо.
>Подскажите пожалуйста как узнать время создания файла в Perl?#$filename - имя файла
#$mtime - время создания
$mtime = (stat $filename)[9];
$mtime =~s/^(\d+)/localtime($1)/e;
>>Подскажите пожалуйста как узнать время создания файла в Perl?
>
>#$filename - имя файла
>#$mtime - время создания
>$mtime = (stat $filename)[9];
>$mtime =~s/^(\d+)/localtime($1)/e;
===
+ Надо иметь ввиду, что mtime - время last modified
а время создания - неопределимое понятие
Сделал всё как рекомендовали. Результат: Thu Jan 1 03:00:01 1970029820897
Хотя файл создан полчаса назад. :(функция stat "родная"???
Сделал всё как рекомендовали. Результат: Thu Jan 1 03:00:01 1970029820897
Хотя файл создан полчаса назад. :(функция stat "родная"???
>Сделал всё как рекомендовали. Результат: Thu Jan 1 03:00:01 1970029820897
>Хотя файл создан полчаса назад. :(
>
>функция stat "родная"???Как ты умудрился получить такой результат?
Что именно ты делал?
Может быть у тебя "особая" файловая система - и другой порядок полей возвращаемых stat()?
FROM PERLDOCTypically used as follows:
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks)
= stat($filename);Not all fields are supported on all filesystem
types.=========================
>>Сделал всё как рекомендовали. Результат: Thu Jan 1 03:00:01 1970029820897>Как ты умудрился получить такой результат?
>Что именно ты делал?
да вот всё вышесказанное и сделал. :(>Может быть у тебя "особая" файловая система - и другой порядок полей
>возвращаемых stat()?
freebsd
>FROM PERLDOC
читал, читал... вот и я думаю что она "родная"
Но почему время тогда такое?
>>>Сделал всё как рекомендовали. Результат: Thu Jan 1 03:00:01 1970029820897
>
>>Как ты умудрился получить такой результат?
>>Что именно ты делал?
>да вот всё вышесказанное и сделал. :(
>
Выше были даны 2 варианта (полный и краткий). Использовать что-то одно.
Достаточно
# 1-st
$mtime = (stat $filename)[9]; # $mtime = кол-во секунд
# 2-nd
$mtime =~s/^(\d+)/localtime($1)/e;
print "$filename = $mtime"\n;Твой результат означает, что у тебя $mtime == 0 (после 1-st этапа)