Forum Webscript.Ru
Программирование => Perl => Тема начата: Гость от 06 Сентября 2002, 08:57:39
-
Передо мною стоит задача. Нужно определить день недели, при заданных: год, месяц, число.
При этом в моем распоряжении только базовый набор модулей.
Буду рад советам и помощи.
-
$aaa=(localtime $DATE)[6];
print "$aaa";
где $DATE - полное время всекундах с начала эпохи, его можешь подсчитать сам ;-))
-
О сколько нам открытий чудных, готовит прочтение ФАК в этом разделе. Можно его даже распечатать, но лучше раз 10 переписать от руки.
ЗЫ. "Все уже украдено до нас" (С) Операция "Ы"
-
#!/usr/bin/perl -w
use strict;
my $date = \'2002-09-06\';
sub dayofweek {
my @years = (0, 2, 3, 4);
my @month = (undef, 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5);
my @days = (\'Sun\', \'Mon\', \'Tue\', \'Wed\', \'Thu\', \'Fri\', \'Sat\');
my $date = shift;
my ($yy, $mm, $dd) = split(/\\-/, $date);
$dd =~ s/^0//;
$mm =~ s/^0//;
my($tmp, $a, $b, $c, $e);
$tmp = $yy - 1996;
$a = $tmp & 3;
$b = ($tmp >> 2) + ($tmp & hex("FC"));
$c = $month[$mm];
if($a == 0 && $mm > 2){$c++;}
$a = $years[$a];
$e = ($a+$b+$c+$dd) % 7;
return $days[$e];
}
print "The day($date) is: ".dayofweek($date)."\\n"
-
О сколько нам открытий чудных, готовит прочтение ФАК в этом разделе. Можно его даже распечатать, но лучше раз 10 переписать от руки.
http://forums.webscript.ru/announcement.php?s=&forumid=14#q6.4
как раз случайно посмотрел его :) и аж самому смешно стало :)
-
Но мне и так хорошо!... :) Чё эт я должен зависить от каких-то там модулей!?
-
Спасибо!
-
Кстати, фак я читал о написания этого поста в форуме. Однако, сравните сказанное там и сказанное здесь. Предлагаю его дополнить постом Serchey.
Еще раз спасибо!
-
Знаю, замучил, но очередной вопрос:
При попытке задать нечто вроде
my $date = \'$year-$mon-01\';
Происходит не задача. Как устранить это?
Еще больший глюк происходит при попытке
$d = .dayofweek($date).;
print "The day($date) is: "$d"\\n"
Что делать.
Варианты про прочтению книги Чернышевского прошу опустить :D
-
Знаю, надоел, но все же 2 вопроса по этому коду:
Не срабатывает подобная запись
my $date = \'$year\\-$mon\\-$day\';
500 ошибка при:
$d = ".dayofweek($date).";
print "The day($date) is: "$d"\\n"
Как избавиться от этих проблемм?
-
Не срабатывает подобная запись
my $date = \'$year\\-$mon\\-$day\';
попробуй
my $date = "$year-$mon-$day";
500 ошибка при:
$d = ".dayofweek($date).";
print "The day($date) is: "$d"\\n"
Еще бы.
Попробуй так
$d = dayofweek($date);
print "The day($date) is: $d\\n";
-
Спасибо, все работает :)
my $date = "$year-$mon-$day";
Здесь я про двойные кавычки забыл... Бывает :(
-
Ну вы, блин, даёте!!! :)
-
Бывает... :D