summaryrefslogtreecommitdiff
path: root/FS/FS/sched_avail.pm
diff options
context:
space:
mode:
Diffstat (limited to 'FS/FS/sched_avail.pm')
-rw-r--r--FS/FS/sched_avail.pm34
1 files changed, 34 insertions, 0 deletions
diff --git a/FS/FS/sched_avail.pm b/FS/FS/sched_avail.pm
index 62b1a5d69..245c69f48 100644
--- a/FS/FS/sched_avail.pm
+++ b/FS/FS/sched_avail.pm
@@ -111,6 +111,40 @@ sub check {
$self->SUPER::check;
}
+=item stime_pretty
+
+=item etime_pretty
+
+=cut
+
+sub stime_pretty { shift->_time_pretty('stime', @_); }
+sub etime_pretty { shift->_time_pretty('etime', @_); }
+
+sub _time_pretty {
+ my( $self, $field ) = @_;
+
+ pretty_time( $self->$field() );
+}
+
+#helper sub
+sub pretty_time {
+ my $t = shift;
+
+ return 'Midnight' if $t == 0 || $t == 1440;
+ return 'Noon' if $t == 720;
+
+ my $h = int( $t / 60 );
+ my $m = $t % 60;
+
+ my $ap = 'AM';
+ if ( $h == 0 || $h == 24 ) { $h = 12; }
+ elsif ( $h == 12 ) { $ap = 'PM'; }
+ elsif ( $h > 12 ) { $ap = 'PM'; $h -= 12; }
+
+ sprintf('%02d:%02d'." $ap", $h, $m);
+
+}
+
=back
=head1 BUGS