Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- ################################################################################
- ## Script name: get-local-times.sh
- ## Script version: 1.0 (2011-10-15 22:00 UTC)
- ## Description: Script gets local times in different locations (Moscow,
- ## Kaliningrad, Kiev, Minsk) for each of 5 given UTC dates, using system's TZ
- ## database, and compares the result with the correct values of local dates.
- ## Author: Roman Tik (ya.roman.tik {аt} yandex.ru)
- ################################################################################
- # Testing dates in UTC
- D1UTC="2010-10-01 15:00 UTC"
- D2UTC="2010-11-01 15:00 UTC"
- D3UTC="2011-10-01 15:00 UTC"
- D4UTC="2011-11-01 15:00 UTC"
- D5UTC="2012-07-01 15:00 UTC"
- # Correct values for local times in Europe/Moscow:
- D1MSKCORRECT="2010-10-01 19:00 MSD (UTC+04)"
- D2MSKCORRECT="2010-11-01 18:00 MSK (UTC+03)"
- D3MSKCORRECT="2011-10-01 19:00 MSK (UTC+04)"
- D4MSKCORRECT="2011-11-01 19:00 MSK (UTC+04)"
- D5MSKCORRECT="2012-07-01 19:00 MSK (UTC+04)"
- # Correct values for local times in Europe/Kaliningrad:
- D1KLGCORRECT="2010-10-01 18:00 EEST (UTC+03)"
- D2KLGCORRECT="2010-11-01 17:00 EET (UTC+02)"
- D3KLGCORRECT="2011-10-01 18:00 FET (UTC+03)"
- D4KLGCORRECT="2011-11-01 18:00 FET (UTC+03)"
- D5KLGCORRECT="2012-07-01 18:00 FET (UTC+03)"
- # Correct values for local times in Europe/Kiev:
- D1KIEVCORRECT="2010-10-01 18:00 EEST (UTC+03)"
- D2KIEVCORRECT="2010-11-01 17:00 EET (UTC+02)"
- D3KIEVCORRECT="2011-10-01 18:00 FET (UTC+03)"
- D4KIEVCORRECT="2011-11-01 18:00 FET (UTC+03)"
- D5KIEVCORRECT="2012-07-01 18:00 FET (UTC+03)"
- # Correct values for local times in Europe/Minsk:
- D1MINSKCORRECT="2010-10-01 18:00 EEST (UTC+03)"
- D2MINSKCORRECT="2010-11-01 17:00 EET (UTC+02)"
- D3MINSKCORRECT="2011-10-01 18:00 FET (UTC+03)"
- D4MINSKCORRECT="2011-11-01 18:00 FET (UTC+03)"
- D5MINSKCORRECT="2012-07-01 18:00 FET (UTC+03)"
- echo "Testing dates (UTC):"
- echo 1. $D1UTC
- echo 2. $D2UTC
- echo 3. $D3UTC
- echo 4. $D4UTC
- echo 5. $D5UTC
- echo
- echo "Script gets local times in different locations (Moscow, Kaliningrad, Kiev, Minsk) for each of 5 given UTC dates, using system's TZ database, and compares the result with the correct values of local dates."
- export TZ="Europe/Moscow"
- D1MSK=`date -d "$D1UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D2MSK=`date -d "$D2UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D3MSK=`date -d "$D3UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D4MSK=`date -d "$D4UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D5MSK=`date -d "$D5UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- export TZ="Europe/Kaliningrad"
- D1KLG=`date -d "$D1UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D2KLG=`date -d "$D2UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D3KLG=`date -d "$D3UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D4KLG=`date -d "$D4UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D5KLG=`date -d "$D5UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- export TZ="Europe/Kiev"
- D1KIEV=`date -d "$D1UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D2KIEV=`date -d "$D2UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D3KIEV=`date -d "$D3UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D4KIEV=`date -d "$D4UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D5KIEV=`date -d "$D5UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- export TZ="Europe/Minsk"
- D1MINSK=`date -d "$D1UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D2MINSK=`date -d "$D2UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D3MINSK=`date -d "$D3UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D4MINSK=`date -d "$D4UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- D5MINSK=`date -d "$D5UTC" +%Y-%m-%d" "%H:%M" "%Z" (UTC"%:::z")"`
- echo
- echo "Testing dates in Moscow (Russia):"
- echo -n 1. $D1MSK
- if [ "$D1MSK" = "$D1MSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D1MSKCORRECT
- fi
- echo -n 2. $D2MSK
- if [ "$D2MSK" = "$D2MSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D2MSKCORRECT
- fi
- echo -n 3. $D3MSK
- if [ "$D3MSK" = "$D3MSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D3MSKCORRECT
- fi
- echo -n 4. $D4MSK
- if [ "$D4MSK" = "$D4MSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D4MSKCORRECT
- fi
- echo -n 5. $D5MSK
- if [ "$D5MSK" = "$D5MSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D5MSKCORRECT
- fi
- echo
- echo "Testing dates in Kaliningrad (Russia):"
- echo -n 1. $D1KLG
- if [ "$D1KLG" = "$D1KLGCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D1KLGCORRECT
- fi
- echo -n 2. $D2KLG
- if [ "$D2KLG" = "$D2KLGCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D2KLGCORRECT
- fi
- echo -n 3. $D3KLG
- if [ "$D3KLG" = "$D3KLGCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D3KLGCORRECT
- fi
- echo -n 4. $D4KLG
- if [ "$D4KLG" = "$D4KLGCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D4KLGCORRECT
- fi
- echo -n 5. $D5KLG
- if [ "$D5KLG" = "$D5KLGCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D5KLGCORRECT
- fi
- echo
- echo "Testing dates in Kiev (Ukraine):"
- echo -n 1. $D1KIEV
- if [ "$D1KIEV" = "$D1KIEVCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D1KIEVCORRECT
- fi
- echo -n 2. $D2KIEV
- if [ "$D2KIEV" = "$D2KIEVCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D2KIEVCORRECT
- fi
- echo -n 3. $D3KIEV
- if [ "$D3KIEV" = "$D3KIEVCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D3KIEVCORRECT
- fi
- echo -n 4. $D4KIEV
- if [ "$D4KIEV" = "$D4KIEVCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D4KIEVCORRECT
- fi
- echo -n 5. $D5KIEV
- if [ "$D5KIEV" = "$D5KIEVCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D5KIEVCORRECT
- fi
- echo
- echo "Testing dates in Minsk (Belarus):"
- echo -n 1. $D1MINSK
- if [ "$D1MINSK" = "$D1MINSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D1MINSKCORRECT
- fi
- echo -n 2. $D2MINSK
- if [ "$D2MINSK" = "$D2MINSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D2MINSKCORRECT
- fi
- echo -n 3. $D3MINSK
- if [ "$D3MINSK" = "$D3MINSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D3MINSKCORRECT
- fi
- echo -n 4. $D4MINSK
- if [ "$D4MINSK" = "$D4MINSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D4MINSKCORRECT
- fi
- echo -n 5. $D5MINSK
- if [ "$D5MINSK" = "$D5MINSKCORRECT" ]; then echo " [OK]";
- else echo " [WRONG]"; echo "Correct local time:" $D5MINSKCORRECT
- fi
Advertisement
Add Comment
Please, Sign In to add comment