<?
package MetarTools;
use 5.005;
use strict;
use vars qw($VERSION);
$VERSION = '0.1';
# define weather types
my @wx_types = qw(MI PI BC DR BL SH TS FZ DZ RA SN SG IC PE GR GS UP BR FG FU VA DU SA HZ PY PO SQ FC SS DS);
my $wx_pat = join "|",@wx_types;
# define cloud condition types
my @sky_types = qw(CLR SKC FEW SCT BKN OVC VV);
my $sky_pat = join "|", @sky_types;
sub convertLST {
eval { require Date::Calc };
if ($@) { die "Date::Calc module required for time conversions\n" }
my $self = shift;
my ($yr, $mo, $tz) = @_;
$tz = -6 unless $tz;
my @roundUTC;
my @roundLST;
my ($round,$dy,$hr,$mn,$hr_ampm,$ampm);
my @utc;
my @lst;
if (!defined($self->{DAY})) { $self->processDatetime() }
if (defined($self->{DAY})) {
$dy = $self->{DAY};
$hr = $self->{HOUR};
$mn = $self->{MINUTE};
@utc = ($yr,$mo,$dy,$hr,$mn,0);
@lst = Date::Calc::Add_Delta_DHMS(@utc,0,$tz,0,0);
if ($lst[3] == 0) { $hr_ampm = 12; $ampm = 'am' }
elsif ($lst[3] == 12) { $ampm = 'pm' }
elsif ($lst[3] > 12) { $hr_ampm = $lst[3] - 12; $ampm = 'pm' }
else { $hr_ampm = $lst[3] ; $ampm = 'am' }
$ampm = "$hr_ampm:$mn$ampm";
$self->{DATE_LST} = sprintf("%4d%02d%02d %02d:%02d",@lst[0..4]);
$self->{YEAR_LST} = $lst[0];
$self->{MONTH_LST} = $lst[1];
$self->{DAY_LST} = $lst[2];
$self->{HOUR_LST} = $lst[3];
$self->{MINUTE_LST} = $lst[4];
$self->{TIME_LST} = sprintf "%d:%02d", $lst[3],$lst[4];
$self->{TIME_LST_ENGLISH} = $ampm;
if ($mn >= 45) {
@roundUTC = Date::Calc::Add_Delta_DHMS(@utc[0..3],0,0,0,1,0,0);
@roundLST = Date::Calc::Add_Delta_DHMS(@lst[0..3],0,0,0,1,0,0);
$round++;
}
elsif ($mn < 15) {
@roundUTC = (@utc[0..3],0,0);
@roundLST = (@lst[0..3],0,0);
$round++;
}
if ($round) {
if ($roundUTC[2] == 0) { $hr_ampm = 12; $ampm = 'am' }
elsif ($roundUTC[2] == 12) { $ampm = 'pm' }
elsif ($roundUTC[2] > 12) { $hr_ampm = $roundUTC[2] - 12; $ampm = 'pm' }
else { $hr_ampm = $roundUTC[2] ; $ampm = 'am' }
$ampm = "$hr_ampm:00$ampm";
$self->{DATE_UTC_ROUND} = sprintf("%4d%02d%02d %02d:%02d",@roundUTC[0..4]);
$self->{YEAR_UTC_ROUND} = $roundUTC[0];
$self->{MONTH_UTC_ROUND} = $roundUTC[1];
$self->{DAY_UTC_ROUND} = $roundUTC[1];
$self->{HOUR_UTC_ROUND} = $roundUTC[2];
$self->{TIME_UTC_ROUND} = "$roundUTC[2]:00";
$self->{TIME_UTC_ROUND_ENGLISH} = $ampm;
if ($roundLST[2] == 0) { $hr_ampm = 12; $ampm = 'am' }
elsif ($roundLST[2] == 12) { $ampm = 'pm' }
elsif ($roundLST[2] > 12) { $hr_ampm = $roundLST[2] - 12; $ampm = 'pm' }
else { $hr_ampm = $roundLST[2] ; $ampm = 'am' }
$ampm = "$hr_ampm:00$ampm";
$self->{DATE_LST_ROUND} = sprintf("%4d%02d%02d %02d:%02d",@roundLST[0..4]);
$self->{YEAR_LST_ROUND} = $roundLST[0];
$self->{MONTH_LST_ROUND} = $roundLST[1];
$self->{DAY_LST_ROUND} = $roundLST[1];
$self->{HOUR_LST_ROUND} = $roundLST[2];
$self->{TIME_LST_ROUND} = "$roundLST[2]:00";
$self->{TIME_LST_ROUND_ENGLISH} = $ampm;
}
}
}
?>
<?
class some_shity_php4_class {
function some_random_method() {
$this = dont_do_this_ever_horrible_practice;
}
}
?>
| |
![]() ![]()
|
|
|
|
|
|
|
|
|
|
|
|
|
Powered by: Trance Music & vBulletin Forums
Copyright ©2000-2026, Jelsoft Enterprises Ltd.
Privacy Statement / DMCA