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日1
  2. 1900年1月2日2
  3. 1900年1月3日3
  4. 2000年1月1日36526
  5. 2020年1月1日43831

時刻

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

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:00.0
  2. 3:0:00.125
  3. 6:0:00.0.25
  4. 12:0:00.5
  5. 21:0:00.875
  6. 23:59:590.0999988425925926
  7. 24:0:00.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 (自作関数)
シリアル値 からを求めます。