getSerialTimeゲットシリアルタイム関数

本ページには広告が含まれています。

UWSC時間からシリアル値を取得します。

構文
  1. Double = getSerialTime( uwscTime )
引数
uwscTime 必須
GETTIME関数で取得した時間
戻り値
シリアル値

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   uwscTime : GETTIME関数で取得した時間 
// 【戻り値】
//   
//////////////////////////////////////////////////
FUNCTION getSerialTime(uwscTime)
	RESULT = (uwscTime - GETTIME(0, "1899/12/30 00:00:00")) / 86400
FEND

解説

  1. 2行目
    UWSC
    	RESULT = (uwscTime - GETTIME(0, "1899/12/30 00:00:00")) / 86400
    「1899/12/30 00:00:00」からuwscTimeまでの日数

シリアル値

シリアル値とは1900年1月1日を1とし、その日からの通算日数と時刻を表す値のことです。1日毎に1ずつ増え、小数部分が時刻を表します。

日付

  1. 1900年1月1日152.png1
  2. 1900年1月2日152.png2
  3. 1900年1月3日152.png3
  4. 2000年1月1日152.png36526
  5. 2020年1月1日152.png43831

時刻

シリアル値で時刻は小数部分で表されます。

1日で1増えるので、1時間は1/24で0.41666666…、1分は1/1440で0.00069444444…、1秒は1/86400で0.0000115740740…増えることになります。

時刻hh:nn:ssのシリアル値は以下の式で求めることができます。

24時間=86400秒。時分秒を秒単位に直して86400で割る。

1時間=3600秒、1分=60秒。

\[ \frac{hh \times 3600 + nn \times 60 + ss}{86400} \]
  1. 0:0:0152.png0.0
  2. 3:0:0152.png0.125
  3. 6:0:0152.png0.0.25
  4. 12:0:0152.png0.5
  5. 21:0:0152.png0.875
  6. 23:59:59152.png0.0999988425925926
  7. 24:0:0152.png0.0

1900年うるう年問題

Excelでは1900年のうるう年問題があり、シリアル値60以下の数値にてExcelとUWSCでは結果が異なりますのでご注意ください。

シリアル値 Excel日付 UWSC日付
1 1900/01/01 1899/12/31
2 1900/01/02 1900/01/01
3 1900/01/03 1900/01/02
58 1900/02/27 1900/02/26
59 1900/02/28 1900/02/27
60 1900/02/29 1900/02/28
61 1900/03/01 1900/03/01
62 1900/03/02 1900/03/02
63 1900/03/03 1900/03/03

関連記事

uwscToSerial関数 (自作関数)
UWSC時間シリアル値に変換します。
serialToUwsc関数 (自作関数)
シリアル値UWSC時間に変換します。
now関数 (自作関数)
現在の日時のシリアル値を返します。
getUNIXTime関数 (自作関数)
UWSC時間からUNIX時間を取得します。
uwscToUNIX関数 (自作関数)
UWSC時間UNIX時間に変換します。
serialToUNIX関数 (自作関数)
シリアル値UNIX時間に変換します。
UNIXToUwsc関数 (自作関数)
UNIX時間UWSC時間に変換します。
UNIXToSerial関数 (自作関数)
UNIX時間 をシリアル値に変換します。
Hour関数 (自作関数)
シリアル値からを求めます。
Minute関数 (自作関数)
シリアル値からを求めます。