Date-Indian
view release on metacpan or search on metacpan
demo/example.pl view on Meta::CPAN
$h += 1;
}
$h = '0'.$h if $h < 10;
$m = '0'.$m if $m < 10;
return $sign.$h . ':' . $m;
}
# Sun chara tracking.
my ($nav, $t ) = $d->sunchara();
if ($nav){
if ( $nav % 9 != 0 ){ # Change of start & navamsa case.
print "Sun's in ", $nkid->[int($nav/4)], " ", $nav % 4, " at: ",hms($t),"\n";
}else{# Change of sign case.
print "Solar ingress to ", int($nav/9)," at: ",hms($t), "\n";
}
}
print "Length of the day: ", hms($d->daylength()), "\n";
# New moon calculations:
my $td = Indian -> new ( jdate => $d->newmoon(), tz => '5:30');
my ($yr,$mn,$dt,$tm) = $td->ymd();
print "Prev new Moon: $yr-$mn-$dt ", hms($tm), "\n";
$td = Indian -> new ( jdate => $d->newmoon(1), tz => '5:30');
($yr,$mn,$dt,$tm) = $td->ymd();
print "Next new Moon: $yr-$mn-$dt ", hms($tm), "\n";
# Rahu, Gulika and Yamaganda kalam.
my ($from, $to) = $d->rahu_kalam();
print "Rahu kalam ", hms($from), " to ", hms($to), "\n";
($from, $to) = $d->gulika_kalam();
print "Gulika kalam ", hms($from), " to ", hms($to), "\n";
($from, $to) = $d->yamaganda_kalam();
print "Yamaganda kalam ", hms($from), " to ", hms($to), "\n";
# Durmuhurtas.
my ($d1_s, $d1_e, $d2_s, $d2_e) = $d->durmuhurtam();
print "Durmurtam ", hms($d1_s), " to ", hms($d1_e), "\n";
print "Durmurtam ", hms($d2_s), " to ", hms($d2_e), "\n"
if $d2_s;
#Varjyam.
my @out = $d->varjyam();
foreach my $vs ( @out){
print "varjyam from ", hms($vs)," till ", hms($vs+1.6),"\n";
}
# Karanam:
my %th = $d->karana_endings();
for my $t (sort keys %th){
my $k;
$k = 10 if $t == 0;
$k = $t - 50 if $t >= 57;
$k = ($t-1) % 7 if ($t >0) & ($t <57);
print "Karana ", $karanaid->[$k], " ends at ", hms($th{$t}), "\n";
}
# Compute traditional saka date for the gregorian calendar date.
# Takes care of inter calary months.
sub greg2saka{
my $self = shift;
my $sun = $self->sun();
my ($sr, $ss, $flag) = $self -> sunriseset();
my $day = int($self->tithi($sr/24.0)) % 30;
my $td = Indian -> new ( jdate => $self->newmoon(), tz => '5:30');
my ($yr,$mn,$dt,$tm) = $td->ymd();
$sun = $td ->sun();
my $sl = $sun->n_long();
my $m = int($sl/30);
my $year = $yr - 78;
$year -= 1 if int($sl/30) < 11;
my $mon = int($sl/30 + 1) % 12;
$td = Indian -> new ( jdate => $self->newmoon(1), tz => '5:30');
($yr,$mn,$dt,$tm) = $td->ymd();
$sun = $td ->sun();
$sl = $sun->n_long();
$mon = $mon + 0.1 if $mon == int($sl/30 + 1) % 12;
print "year = $year, month = $mon, day = $day\n";
}
greg2saka( $d );
( run in 1.735 second using v1.01-cache-2.11-cpan-f52f0507bed )