Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Системное программирование > Подстановка времени


Автор: klif 3.3.2004, 15:16
Зарание извиняюсь за глупый вопрос. Но ответ на него не могу почему-то найти

я создаю файл :

>file

а как мне сделать так , чтобы в имене файла присутсвовала дата ?
в таком виде
file_ddmmyy

зарание спасибо

Автор: ElectricalStorm 3.3.2004, 17:07
my ($d,$m,$y) = (localtime)[3,4,5]
open F, ">$d.$m.$y";
типа такого
пишу по памяти не могу проверить .....

Автор: klif 3.3.2004, 17:40
Как-то не заработало...
может можно как-то еще ?

Автор: GoodBoy 3.3.2004, 19:27
все прекрасно заработало...
создался файл с именем "3.2.104", где: 3 - день месяца, 2 - месяц года (они нумеруются с 0) и 104 - год (отсчет идет с 1900)
Если хотите имя типа File_030304 то можно так:
Код
my ($d,$m,$y) = (localtime)[3,4,5];
$m++;
$y-=100;
$d = "0".$d if $d<10;
$m = "0".$m if $m<10;
$y = "0".$y if $y<10;
open F, ">File_$d$m$y";


Автор: Klif 4.3.2004, 11:10
Значит у меня что-то не так!
Подробные пояснения к этой строке можете дать ?

my ($d,$m,$y) = (localtime)[3,4,5];

А то у меня ошибочку на нее выдает!
Да и я в ней чего-то не догоняю sad.gif

Автор: GoodBoy 4.3.2004, 11:24
А что пишется в сообщении об ошибке?? У меня все работает!
попробуй еще так:
Код
my ($d,$m,$y) = (localtime(time))[3,4,5];

Эта строка возвращает 4, 5 и 6 элементы массива, полученного вызовом функции localtime, а именно текущие день месяца (нумерация начинается с 1), месяц (0- январь... 11-декабрь) и год (отсчет ведется с 1900).
Полный вызов выглядит так:
Код
($Second, $Minute, $Hour, $DayOfMonth, $Month, $Year,
 $Weekday, $DayOfYear, $IsDST) = localtime(time);

возвращает:
Код
(секунды, минуты, часы, день_месяца, номер_месяца, номер_года,
 нень_недели, день_года, признак_летнего_времени) = localtime(time)

Автор: Klif 4.3.2004, 13:00
Все! Заработало ... сам дурак был...
Спасибо большое за помощь!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)