33 lines
719 B
Crystal
33 lines
719 B
Crystal
# TODO: Write documentation for `KathmanduTime`
|
|
module KathmanduTime
|
|
VERSION = "0.1.0"
|
|
end
|
|
|
|
require "time"
|
|
|
|
if ARGV.size < 1
|
|
STDERR.puts "ERROR: please give a french time (GMT+1)"
|
|
exit 1
|
|
end
|
|
|
|
time = ARGV[0]
|
|
|
|
now = Time.utc
|
|
|
|
paris_now = Time.local
|
|
paris_offset = paris_now.to_s("%:z")
|
|
|
|
paris_tz = Time::Location.load("Europe/Paris")
|
|
kath_tz = Time::Location.load("Asia/Kathmandu")
|
|
|
|
# puts (paris_tz.zones
|
|
# .select{ |t| t.dst? }
|
|
# .map {|t| t.format(true, false) }
|
|
# ).inspect
|
|
|
|
paris_time = Time.parse("#{time} #{paris_offset}", "%H:%M %z", location: paris_tz)
|
|
kath_time = paris_time.in(kath_tz)
|
|
|
|
puts "Paris: #{paris_time.to_s("%H:%M %:z")}"
|
|
puts "Kathmandu: #{kath_time.to_s("%H:%M %:z")}"
|