世界時計
30分プログラム、その566。世界時計 via エロと風俗情報満載 どう抜く?。
プログラムを実行した端末のロケールと、グリニッジ標準時と、ロサンゼルスの現在時刻をそれぞれ表示してください。時刻の表示はリアルタイムでなく、一回限りで構いません。時刻のフォーマットは自由とします。
1 出力例
2 現在の時刻は、2008年10月29日 11時36分21秒です。
3 グリニッジ標準時刻は、2008年10月29日 2時36分21秒です。
4 アメリカ・ロサンゼルスの時刻は、2008年10月28日 19時36分21秒です。
ようするに、日本の時刻とGMTとロサンゼルスの時刻を出せばいいんだよね。
本当はロサンゼルスの時刻はサマータイムを考慮にいれないといけないんだけど、ちょっと大変なので忘れることにしよう。とりあえず、あと7ヶ月ほどは正解を出力するはず。
使い方
$ gosh world.scm 現在の時刻 2009-04-14T21:59:17 グリニッジ標準時刻 2009-04-14T12:59:17 アメリカ・ロサンゼルスの時刻 2009-04-14T05:59:17
ソースコード
#! /opt/local/bin/gosh ;; -*- mode:scheme; coding:utf-8 -*- ;; ;; world.scm - ;; ;; Copyright(C) 2009 by mzp ;; Author: MIZUNO Hiroki / mzpppp at gmail dot com ;; http://howdyworld.org ;; ;; Timestamp: 2009/04/14 21:41:24 ;; ;; This program is free software; you can redistribute it and/or ;; modify it under MIT Lincence. ;; (use srfi-19) (define (show name date) (print (date->string date #`",name ~5"))) (define now (current-time 'time-utc)) (show "現在の時刻" (time-utc->date now (* 9 60 60))) (show "グリニッジ標準時刻" (time-utc->date now 0)) (show "アメリカ・ロサンゼルスの時刻" (time-utc->date now (* -7 60 60)))