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時間に変換します。シリアル値は、1日(24時間)を1.0とし、1日ごとに1ずつ増えます。整数部分は日付を、小数部分は時刻を表します。Windows版では、1900年日付システムを適用しており、1900年1月1日の午前0時を起点として、シリアル値は1から始まります。
now関数 (自作関数)
now関数は、現在の日時を取得する関数です。日付のみ取得したい場合は、today関数を使います。
getUNIXTime関数 (自作関数)
UWSC時間からUNIX時間に変換します。
uwscToUNIX関数 (自作関数)
UWSC時間をUNIX時間に変換します。
serialToUNIX関数 (自作関数)
シリアル値をUNIX時間に変換します。
UNIXToUwsc関数 (自作関数)
UNIX時間をUWSC時間に変換します。
UNIXToSerial関数 (自作関数)
UNIX時間をシリアル値に変換します。
Hour関数 (自作関数)
シリアル値からを求めます。
Minute関数 (自作関数)
シリアル値 から「分」を求めます。