|
|
Wandelt Datum-String in Unixzeit um (2005-06-16 10:00:00 => 1118916000), beachtet dabei Zeitverschiebung und Sommer/Winterzeit.
|
|
|
date2time
#!/bin/bash # ************************************************************ # Wandelt Datum-String in Unixzeit um (2005-06-16 10:00:00 => 1118916000), # beachtet dabei Zeitverschiebung und Sommer/Winterzeit. function date2time() { local date=$1 local zone=$2 echo $date | perl -e ' # benoetigtes Perl Modul... use POSIX qw(strftime); my $datestr="'$date'"; my $tzone='$zone'; # $date[8] => (1=stime/0=wtime)... my @date=localtime(time); my ($date, $time)=split(/ /, $datestr); my ($year, $mon, $day) = split(/\-/, $date); my ($hour, $min, $sec) = split(/\:/, $time); if ($date[8]) { $hour=( $hour+($tzone+1) ) } else { $hour=( $hour+$tzone ) } $mon = $mon-1; $year = $year-1900; my $unixtime = POSIX::strftime( "%s", $sec, $min, $hour, $day, $mon, $year ); print $unixtime; ' } # ************************************************************ # Datum von Gestern... YESTERDAY=$( date -d yesterday +%Y-%m-%d ) # Stunde... STD="10" # Uebergabeparameter: Datumstring, Zeitverschiebung... date2time "$YESTERDAY $STD:00:00" "+1"
|
|
|
|