serialToUwsc関数

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

シリアル値をUWSC時間に変換します。

構文
  1. Double = serialToUwsc( serialDate )
引数
serialTime 必須
シリアル値
戻り値
UWSC時間

プログラム

UWSC
//////////////////////////////////////////////////
// 【引数】
//   serialTime : シリアル値 
// 【戻り値】
//   UWSC時間 
//////////////////////////////////////////////////
FUNCTION serialToUwsc(serialDate)
	RESULT = GETTIME(serialDate, "18991230000000")
FEND

解説

  1. 2行目
    UWSC
    	RESULT = GETTIME(serialDate, "18991230000000")

シリアル値

シリアル値とは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

使い方

シリアル値をUWSC時間に変換し日時を出力

serialToUwscの戻り値は秒単位に対し、GETTIMEの第一引数は日単位なのでuwscTimeを86400で割ることで秒単位から日単位に変換。

UWSC
DIM serial = 44531.62568
DIM uwscTime = serialToUwsc(serial)

GETTIME(uwscTime / 86400, "20000101000000")
PRINT G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
結果
プレーンテキスト
2021/12/01 15:00:58

関連記事

getSerialTime関数 (自作関数)
UWSC時間からシリアル値を取得します。
uwscToSerial関数 (自作関数)
UWSC時間をシリアル値に変換します。
now関数 (自作関数)
now関数は、現在の日時を取得する関数です。日付のみ取得したい場合は、today関数を使います。
getUNIXTime関数 (自作関数)
引数に指定した日時のUNIX時間を取得します。
uwscToUNIX関数 (自作関数)
UWSC時間UNIX時間に変換します。
serialToUNIX関数 (自作関数)
シリアル値をUNIX時間に変換します。
UNIXToUwsc関数 (自作関数)
UNIX時間UWSC時間に変換します。
UNIXToSerial関数 (自作関数)
UNIX時間をシリアル値に変換します。
Second関数 (自作関数)
シリアル値 から「秒」を求めます。
timeValue関数 (自作関数)
時刻を表す文字列をシリアル値に変換します。結果は、0以上1未満の値を取ります。引数に日付が含まれる場合日付は無視され、時刻情報のみ変換されます。