師匠の散歩

きままにPerlでも

getLocalTime

ローカルエポック秒からグレゴリウス暦の年月日を返す / エポック秒を理解し、内部関数を一切使わずに関数化する/ getLocalTime.cgi

ユリウス日からグレゴリウス暦の年月日に変換する関数benriJD2Gregを用い、エポック秒からグレゴリウス暦の年月日を求める。

戻り値
秒、分、時、日、月-1、年-1900、曜日、日数、サマータイム
年月日を入力してください。


ボタンを押すと実行します
訪問された時刻です


ボタンを押すと実行します

結果

ユリウス日*86400とエポック秒が定数の違いになることを利用し、エポック秒をユリウス日の計算式から求める。表を使わないため、自前の計算式 getTimeLocal2() よりも見栄えが良くなったと考える。なお、タイムゾーンの変更は、定数項を変更することで可能である。

紀元前1年をプログラム上は0年と置くことで、紀元前もユリウス日を計算することができる。よって、本計算式はグレゴリオ暦で記述する紀元前についてもエポック秒を求めることができる。

スクリプト(抜粋)

getLocalTime.cgi // Topに戻る // indexに戻る
Copyright(C) 2009-2021 Grandmaster Last up : 2020/09/18