
■ BASCOM-AVR (DEMO) の使用方法 ■ |
時刻と日付に関する命令 |
CONFIG CLOCK |
TIME$とDATE$変数を使用するための、時計(タイマー)を設定します。 |
CONFIG DATE |
日付の表現方法(形式)を設定します。 |
TIME$ |
時刻が格納される内部変数に対して、時刻の取り出し、または設定を行います。 |
DATE$ |
日付が格納される内部変数に対して、日付の取り出し、または設定を行います。 |
DAYOFWEEK |
与えられた日時データから、曜日を算出し、変数に入れます。 |
DAYOFYEAR |
与えられた日時データから、その年の経過日数を算出し、変数に入れます。 |
SECOFDAY |
与えられた時刻データから、その日の経過秒数を算出し、変数に入れます。 |
SYSSEC |
与えられた日時データから、システムが累計する秒数を算出し、変数に入れます。 |
SYSDAY |
与えられた日時データから、システムが累計する日数を算出し、変数に入れます。 |
SECELAPSED |
以前に記憶された時刻から、現在までの経過秒数を算出し、変数に入れます。 |
SYSSECELAPSED |
以前に記憶された日時から、現在までの経過秒数を算出し、変数に入れます。 |
TIME |
時刻値を、受け渡す変数の型に合わせて変換します。 |
DATE |
日付と時刻値を、受け渡す変数の型に合わせて変換します。 |
VERSION |
プログラムがコンパイルされた日付と時間を、文字変数に入れます。 |
CONFIG CLOCK |
一覧へ戻る |
TIME$とDATE$変数を使用するための、時計(タイマー)を設定します。
書式 |
Config Clock = mode [, Gosub = Sectic] |
注釈 |
mode = |
Soft |
- 時計用の32.768kHz水晶を、Timer2に接続できるチップの場合。 |
User |
- I2C時計チップ等の接続で、自作のルーチンを使用する場合。 |
|
Sectic = 毎秒発生する割り込み処理に、自作のルーチンを追加する場合の
サブルーチン名。 (Softモードのみに有効) (オプション) |
Softモード
・mega88, mega164,mega103,mega128などの、時計用32.768kHz水晶をタイマー2に接続できるチップで、
実際に水晶を接続している場合に使用できます。
・この命令で、1秒ごとに発生する割り込み処理と、時刻を生成する処理ルーチンが組み込まれます。
・割り込みを許可して下さい。(Enable Interrupts命令)
・時計用水晶を接続したタイマー(TIMER2等)は、時計専用に使用されるため、ユーザーは他の用途に
使用できません。
・以下の変数が自動的に宣言されるので、ユーザーが使用することもできます。
(_sec , _min , _hour, _day , _month , _year すべてバイト型)
・オプションの[Gosub = Sectic]は、1秒ごとに発生する割り込み処理内の、時刻を生成する
ルーチンの後に、ユーザーの処理ルーチンを追加できます。 (1秒フラグなど)
・ラベル名は必ずSecticを使用し、RETURN命令でルーチンを終了して下さい。
・このルーチンは、レジスタの待避などで、ハードウェア スタックを30バイト追加使用します。
|
(例) |
|
$regfile = "m88pdef.dat" |
' AVRデバイスを"ATmega88P"に設定。 |
$crystal = 8000000 |
' クロック周波数を8MHzに設定。(任意の周波数) |
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Enable Interrupts |
' 割り込みを許可。 |
Do |
' 繰り返し。 |
Print Time$ ; Chr(13); |
' 時刻をターミナルに連続出力。 |
Loop |
' |
|
Userモード
・Userモードでは、 下記の変数が自動的に宣言されるので、ユーザーのプログラムで使用して下さい。
(_sec , _min , _hour, _day , _month , _year すべてバイト型)
・1秒の割り込みルーチン等で、この変数の内容を更新して下さい。
・また、時刻/日付の設定命令を使用すると、下記のラベルがサブルーチンとして呼ばれますので、
ユーザーの時計制御プログラムを記述して下さい。 (使用は任意です)
サブルーチンのラベル名 |
使用する命令 |
動 作 |
Getdatetime |
variable = Time$
variable = Date$ |
時刻、日付の取り出し。 |
Settime |
Time$ = "hh:mm:ss" |
時刻の設定。 |
Setdate |
Date$ = "mm/dd/yy" |
日付の設定。 |
詳細の解説 |
・AVRに時計用32.768kHz水晶を接続する場合は、Config Clock = Soft で、全ての
時刻関連命令が使用できます。
接続回路例
|
・12.8MHzの水晶発振器やRTC(リアルタイム・クロック・モジュール)を使用する場合は、
Config Clock = User とします。
・Userモードでは、時刻のカウントをユーザのプログラムで行わなければいけません。
・この場合、下記の内部変数を1秒割り込み等で、時刻値としてカウントして下さい。
(_sec , _min , _hour, _day , _month , _year すべてバイト型)
・RTCの場合は、受信した時刻データを、上記変数に格納して下さい。
・時刻や日付の設定を行う場合は、上記の内部変数に直接数値を入れます。
(この間は、1秒割り込みを禁止して下さい)
・RTCの場合は、同時にRTCへ同データを送信して下さい。
|
・「Time$ = "hh:mm:ss"」や「Date$ = "mm/dd/yy"」命令で時刻を設定する場合には、操作が
異なります。
・「Time$ = "hh:mm:ss"」を実行すると、時刻値が(_sec , _min , _hour)に代入されると同時に、
ラベル「Settime:」が呼び出されますので、下記の処理を行います。
Settime:
RTCへ時刻データを送信する処理。(RTCを使わない場合は、何も記述しなくて可)
Return |
・「Date$ = "mm/dd/yy"」を実行すると、日付値が(day , _month , _year)に代入されると同時に、
ラベル「Setdate:」が呼び出されますので、下記の処理を行います。
Setdate:
RTCへ日付データを送信する処理。(RTCを使わない場合は、何も記述しなくて可)
Return |
・時刻、日付の取り出し。
・「variable = Time$」や「variable = Date$」を使用すると、ラベル「Getdatetime:」が呼び出され
ますので、下記の処理を行います。
Getdatetime:
RTCから時刻データを受信する処理。(RTCを使わない場合は、何も記述しなくて可)
受信した時刻データを、(_sec , _min , _hour, _day , _month , _year)に格納します。
Return |
|
|
CONFIG DATE |
一覧へ戻る |
日付の表現方法(形式)を設定します。
書式 |
Config Date = DMY , Separator = character |
注釈 |
DMY |
= 日付の並び順を設定します。 D = 日 、 M = 月 、 Y = 年 |
character |
= 日付を区切る文字を選択します。 (/) (-) (.) |
|
国 |
形 式 |
命 令 文 |
日本/台湾 |
YY/MM/DD |
Config Date = YMD , Separator = / |
アメリカ |
MM/DD/YY
MM-DD-YY |
Config Date = MDY , Separator = /
Config Date = MDY , Separator = - |
英国/フランス |
DD/MM/YY |
Config Date = DMY , Separator = / |
ドイツ |
DD.MM.YY |
Config Date = DMY , Separator = . |
イタリア |
DD-MM-YY |
Config Date = DMY , Separator = - |
ANSI規格 |
YY.MM.DD |
Config Date = YMD , Separator = . |
|
TIME$ |
一覧へ戻る |
時刻が格納される内部変数に対して、時刻の取り出し、または設定を行います。
書式 |
Time$ = "hh:mm:ss" (時刻の設定)
variable = Time$ (時刻の取り出し) |
注釈 |
hh:mm:ss |
= 新しい時刻を、時:分:秒で設定します。 |
variable |
= 時刻を入れる文字変数。 (8文字) |
|
・TIME$は、CONFIG CLOCK命令が記述された後に、使用できるようになります。
・時刻の書式は、24時間制です。
・TIME$変数を変更すると、(_sec , _min , _hour)変数も、新しい時刻に更新されます。
・TIME$を、TIME命令と混同しないで下さい。
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Time$ = "01:23:45" |
' 1時23分45秒に設定。 |
Print Time$ |
' 時刻をターミナルに出力。 |
|
|
DATE$ |
一覧へ戻る |
日付が格納される内部変数に対して、日付の取り出し、または設定を行います。
書式 |
Date$ = "mm/dd/yy" (日付の設定)
variable = Date$ (日付の取り出し) |
注釈 |
mm/dd/yy |
= 新しい日付を、月/日/年で設定します。(日付の表現方法による) |
variable |
= 日付を入れる文字変数。 (8文字) |
|
・DATE$は、CONFIG CLOCK命令が記述された後に、使用できるようになります。
・CONFIG DATE命令で設定した、日付の表現方法(形式)に合わせて設定して下さい。
・DATE$変数を変更すると、(_day , _month , _year)変数も、新しい日付に更新されます。
・DATE$を、DATE命令と混同しないで下さい。
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Config Date = YMD , Separator = / |
' 日付の表現方法(形式)を設定。 |
Date$ = "08/05/04" |
' (20)08年5月4日に設定。 |
Print Date$ |
' 日付をターミナルに出力。 |
|
|
DAYOFWEEK |
一覧へ戻る |
与えられた日時データから、曜日を算出し、変数に入れます。
書式 |
variable = DayOfWeek() 現在の内部変数(_day, _month, _year)から算出。
variable = DayOfWeek(B3Day) 3バイトの日,月,年から算出。
variable = DayOfWeek(StrDate) 日付表現(形式)の文字列から算出。
variable = DayOfWeek(WDaySys) システムが累計し続ける日数から算出。
variable = DayOfWeek(LSecSys) システムが累計し続ける秒数から算出。 |
注釈 |
variable = 曜日を入れる、バイト型変数。
B3Day = 日、月、年と続く、3バイトの変数の、先頭の変数名。 (バイト型×3)
StrDate = CONFIG DATE命令で設定された、日付の表現(形式)の文字列。
(8文字の文字列)
WDaySys = システムが累計し続ける日数。 (ワード型)
LSecSys = システムが累計し続ける秒数。 (ロング型) |
・0 = 月曜日 , 1 = 火曜日 , 2 = 水曜日 , 3 = 木曜日 , 4 = 金曜日 , 5 = 土曜日 , 6 = 日曜日
・算出できるのは、 2000/01/01 〜 2099/12/31 までです。
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Config Date = YMD , Separator = / |
' 日付の表現方法(形式)を設定。 |
Dim Strdate As String * 8 |
' 使用する変数を宣言。 |
Dim Week As Byte |
' |
' |
' |
Strdate = "08/05/04" |
' 日付表現(形式)の文字列。 |
Week = Dayofweek(strdate) |
' 曜日に変換。 |
Print Week |
' 変換結果 [6] = 日曜日 |
End |
' |
|
|
DAYOFYEAR |
一覧へ戻る |
与えられた日時データから、その年の経過日数を算出し、変数に入れます。
書式 |
variable = Dayofyear() 現在の内部変数(_day, _month, _year)から算出。
variable = Dayofyear(B3Day) 3バイトの日,月,年から算出。
variable = Dayofyear(StrDate) 日付表現(形式)の文字列から算出。
variable = Dayofyear(WDaySys) システムが累計し続ける日数から算出。
variable = Dayofyear(LSecSys) システムが累計し続ける秒数から算出。 |
注釈 |
variable = 経過日数を入れる、ワード型変数。
B3Day = 日、月、年と続く、3バイトの変数の、先頭の変数名。 (バイト型×3)
StrDate = CONFIG DATE命令で設定された、日付の表現(形式)の文字列。
(8文字の文字列)
WDaySys = システムが累計し続ける日数。 (ワード型)
LSecSys = システムが累計し続ける秒数。 (ロング型) |
・算出結果は、[ 0 〜 364 ] の範囲で、うるう年は[ 365 ]です。
・1月1日は[ 0 ] から始まります。 ・算出できるのは、 2000/01/01 〜 2099/12/31 までです。
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Config Date = YMD , Separator = / |
' 日付の表現方法(形式)を設定。 |
Dim Strdate As String * 8 |
' 使用する変数を宣言。 |
Dim Lapday As Word |
' |
' |
' |
Strdate = "08/05/04" |
' 日付表現(形式)の文字列。 |
Lapday = Dayofyear(strdate) |
' 経過日数を算出。 |
Print Lapday |
' 算出結果 [124] 日経過。 |
End |
' |
|
|
SECOFDAY |
一覧へ戻る |
与えられた時刻データから、その日の経過秒数を算出し、変数に入れます。
書式 |
variable = Secofday() 現在の内部変数(_sec, _min, _hour)から算出。
variable = Secofday(B3Sec) 3バイトの秒,分,時から算出。
variable = Secofday(StrTime) フォーマットが"hh:mm:ss"の文字列から算出。
variable = Secofday(LSecSys) システムが累計し続ける秒数から算出。 |
注釈 |
variable = 経過秒数を入れる、ロング型変数。
B3Sec = 秒、分、時と続く、3バイトの変数の、先頭の変数名。 (バイト型×3)
StrTime = フォーマットが"hh:mm:ss"の文字列。 (8文字の文字列)
LSecSys = システムが累計し続ける秒数。 (ロング型) |
・算出結果は、[ 0 〜 86399 ] の範囲です。 [ 00:00:00 〜 23:59:59 ]
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Dim Strtime As String * 8 |
' 使用する変数を宣言。 |
Dim Progsec As Long |
' |
' |
' |
Strtime = "12:34:56" |
' フォーマットが"hh:mm:ss"の文字列。 |
Progsec = Secofday(Strtime) |
' 経過秒数を算出。 |
Print Progsec |
' 算出結果 [45296] 秒経過。 |
' |
' |
Dim T(3) As Byte |
' 3バイトの秒,分,時を格納する変数。 |
T(1) = 56 |
' [秒] |
T(2) = 34 |
' [分] |
T(3) = 12 |
' [時] |
Progsec = Secofday(T(1)) |
' 経過秒数を算出。 |
Print Progsec |
' 算出結果 [45296] 秒経過。 |
' |
' |
Dim Lsecsys As Long |
' システムが累計する秒数の変数。 |
Lsecsys = 86399 |
' システムが累計し続ける秒数。 |
Progsec = Secofday(lsecsys) |
' 経過秒数を算出。 |
Print Progsec |
' 算出結果 [86399] 秒経過。 |
' |
' |
Lsecsys = 86400 |
' システムが累計し続ける秒数。 |
Progsec = Secofday(lsecsys) |
' 経過秒数を算出。 |
Print Progsec |
' 算出結果 [0] 秒経過。 |
End |
' |
|
|
SYSSEC |
一覧へ戻る |
与えられた日時データから、システムが累計する秒数を算出し、変数に入れます。
書式 |
variable = Syssec() 内部変数(_sec,_min,_hour,_day,_month,_year)から算出。
variable = Syssec(B6Sec) 6バイトの秒、分、時、日、月、年から算出。
variable = Syssec(StrTime , StrDate) 時刻、日付の文字列から算出。
variable = Syssec(WDaySys) システムが累計し続ける日数から算出。 |
注釈 |
variable = 累計する秒数を入れる、ロング型変数。
B6Sec = 秒、分、時、日、月、年と続く、6バイトの変数の、先頭の変数名。
StrTime = フォーマットが"hh:mm:ss"の文字列。 (8文字の文字列)
StrDate = CONFIG DATE命令で設定された、日付の表現(形式)の文字列。
(8文字の文字列)
WDaySys = システムが累計し続ける日数。 (ワード型) |
・算出結果は、[ 0 〜 2147483647 ] の範囲です。 (2000/01/01 〜 2068/01/19 の 03:14:07 まで)。
・2000/01/01の00:00:00が0で始まります。
|
SYSDAY |
一覧へ戻る |
与えられた日時データから、システムが累計する日数を算出し、変数に入れます。
書式 |
variable = Sysday() 現在の内部変数(_day, _month, _year)から算出。
variable = Sysday(B3Day) 3バイトの日,月,年から算出。
variable = Sysday(StrDate) 日付表現(形式)の文字列から算出。
variable = Sysday(LSecSys) システムが累計し続ける秒数から算出。 |
注釈 |
variable = 経過日数を入れる、ワード型変数。
B3Day = 日、月、年と続く、3バイトの変数の、先頭の変数名。 (バイト型×3)
StrDate = CONFIG DATE命令で設定された、日付の表現(形式)の文字列。
(8文字の文字列)
LSecSys = システムが累計し続ける秒数。 (ロング型) |
・算出結果は、[ 0 〜 36524 ] の範囲です。 (2000/01/01 〜 2099/12/31 まで)。
・2000/01/01が0で始まります。
|
SECELAPSED |
一覧へ戻る |
以前に記憶された時刻(タイムスタンプ)から、現在までの経過秒数を算出し、変数に入れます。
書式 |
variable = Secelapsed(TimeStamp) |
注釈 |
variable = 経過秒数を入れる、ロング型変数。
TimeStamp = 以前に記憶された時刻(タイムスタンプ)の秒数。 (ロング型) |
・現在の時刻は、内部変数(_sec, _min, _hour)が使用されます。
・算出結果は、[ 0 〜 86399 ] の範囲です。 (24時間以内)
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Dim Strtime As String * 8 |
' 使用する変数を宣言。 |
Dim Timestamp As Long |
' |
Dim Progsec As Long |
' |
' |
' |
Strtime = "08:00:00" |
' フォーマットが"hh:mm:ss"の文字列。 |
Timestamp = Secofday(Strtime) |
' タイムスタンプを保存。 |
' |
' |
Time$ = "09:00:00" |
' 現在の時刻を設定。 |
' |
' |
Progsec = Secelapsed(timestamp) |
' 経過秒数を算出。 |
Print Progsec |
' 算出結果 [3600] 秒経過。 |
End |
' |
|
|
SYSSECELAPSED |
一覧へ戻る |
以前に記憶された日時(タイムスタンプ)から、現在までの経過秒数を算出し、変数に入れます。
書式 |
variable = Syssecelapsed(TimeStamp) |
注釈 |
variable = 経過秒数を入れる、ロング型変数。
TimeStamp = 以前に記憶された日時(タイムスタンプ)の秒数。 (ロング型) |
・現在の日時は、内部変数(_day, _month, _year, _sec, _min, _hour)が使用されます。
・算出結果は、[ 0 〜 2147483647 ] の範囲です。 (2000/01/01 〜 2068/01/19 の 03:14:07 まで)
|
TIME |
一覧へ戻る |
時刻値を、受け渡す変数の型に合わせて変換します。
書式 |
1日あたりの秒数の累計を、3バイトの秒,分,時に変換。
B3Sec = Time(LSecDay) (バイト型×3) = (ロング型) |
システムが累計し続ける秒数を、3バイトの秒,分,時に変換。
B3Sec = Time(LSecSys) (バイト型×3) = (ロング型) |
フォーマットが"hh:mm:ss"の文字列を、3バイトの秒,分,時に変換。
B3Sec = Time(StrTime) (バイト型×3) = (8文字の文字列) |
1日あたりの秒数の累計を、フォーマットが"hh:mm:ss"の文字列に変換。
StrTime = Time(LSecDay) (8文字の文字列) = (ロング型) |
システムが累計し続ける秒数を、フォーマットが"hh:mm:ss"の文字列に変換。
StrTime = Time(LSecSys) (8文字の文字列) = (ロング型) |
3バイトの秒,分,時を、フォーマットが"hh:mm:ss"の文字列に変換。
StrTime = Time(B3Sec) (8文字の文字列) = (バイト型×3) |
|
注釈 |
B3Sec = 秒、分、時と続く、3バイトの変数の、先頭の変数名。 (バイト型×3)
LSecDay = 1日あたりの秒数の累計。 (ロング型)
LSecSys = システムが累計し続ける秒数。 (ロング型)
StrTime = フォーマットが"hh:mm:ss"の文字列。 (8文字の文字列) |
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Dim Lsecday As Long |
' 使用する変数を宣言。 |
Dim Lsecsys As Long |
' |
Dim B3sec As Byte , B3min As Byte , B3hour As Byte |
Dim Strtime As String * 8 |
' |
' |
' |
Lsecday = 12345 |
' 1日あたりの秒数の累計。 |
B3sec = Time(lsecday) |
' 3バイトの秒,分,時に変換。 |
Print B3hour ; " " ; B3min ; " " ; B3sec |
' 変換結果[3 25 45] |
' |
' |
Lsecsys = 123456789 |
' システムが累計し続ける秒数。 |
B3sec = Time(lsecsys) |
' 3バイトの秒,分,時に変換。 |
Print B3hour ; " " ; B3min ; " " ; B3sec |
' 変換結果[21 33 9] |
' |
' |
Strtime = "01:23:45" |
' フォーマットが"hh:mm:ss"の文字列。 |
B3sec = Time(strtime) |
' 3バイトの秒,分,時に変換。 |
Print B3hour ; " " ; B3min ; " " ; B3sec |
' 変換結果[1 23 45] |
' |
' |
Lsecday = 12345 |
' 1日あたりの秒数の累計。 |
Strtime = Time(lsecday) |
' "hh:mm:ss"の文字列に変換。 |
Print StrTime |
' 変換結果[03:25:45] |
' |
' |
Lsecsys = 123456789 |
' システムが累計し続ける秒数。 |
Strtime = Time(lsecsys) |
' "hh:mm:ss"の文字列に変換。 |
Print Strtime |
' 変換結果[21:33:09] |
' |
' |
B3hour = 1 : B3min = 23 : B3sec = 45 |
' 3バイトの秒,分,時。 |
Strtime = Time(b3sec) |
' "hh:mm:ss"の文字列に変換。 |
Print Strtime |
' 変換結果[01:23:45] |
End |
' |
|
・「システムが累計し続ける秒数」とは、BASCOMが自動的にカウントする物ではありません。
・自作のルーチンで特定の変数を1秒ごとに+1していった物を、その経過した秒数から時:分:秒を
割り出す命令です。
・例えば、10,000秒は何時間:何分:何秒かという計算です。
・実際の用途としては、常時通電している装置で起動から1秒ごとに変数を+1していき、稼働時間が
どれくらい経過しているかを、時:分:秒に変換して表します。 |
DATE |
一覧へ戻る |
日付と時刻値を、受け渡す変数の型に合わせて変換します。
書式 |
システムが累計し続ける秒数を、3バイトの日,月,年に変換。
B3Day = Date(LSecSys) (バイト型×3) = (ロング型) |
システムが累計し続ける日数を、3バイトの日,月,年に変換。
B3Day = Date(WDaySys) (バイト型×3) = (ワード型) |
日付表現(形式)の文字列を、3バイトの日,月,年に変換。
B3Day = Date(StrDate) (バイト型×3) = (8文字の文字列) |
システムが累計し続ける秒数を、日付表現(形式)の文字列に変換。
StrDate = Date(LSecSys) (8文字の文字列) = (ロング型) |
システムが累計し続ける日数を、日付表現(形式)の文字列に変換。
StrDate = Date(WDaySys) (8文字の文字列) = (ワード型) |
3バイトの日,月,年を、日付表現(形式)の文字列に変換。
StrDate = Date(B3Day) (8文字の文字列) = (バイト型×3) |
|
注釈 |
B3Day = 日、月、年と続く、3バイトの変数の、先頭の変数名。 (バイト型×3)
LSecSys = システムが累計し続ける秒数。 (ロング型)
WDaySys = システムが累計し続ける日数。 (ワード型)
StrDate = CONFIG DATE命令で設定された、日付の表現(形式)の文字列。
(8文字の文字列) |
|
(例) |
|
Config Clock = Soft |
' 時計(タイマー)をSoftモードに設定。 |
Config Date = YMD , Separator = / |
' 日付の表現方法(形式)を設定。 |
Dim Lsecsys As Long |
' 使用する変数を宣言。 |
Dim Wdaysys As Word |
' |
Dim B3day As Byte , B3month As Byte , B3year As Byte |
Dim Strdate As String * 8 |
' |
' |
' |
Lsecsys = 123456789 |
' システムが累計し続ける秒数。 |
B3day = Date(lsecsys) |
' 3バイトの日,月,年に変換。 |
Print B3year ; " " ; B3month ; " " ; B3day |
' 変換結果[3 11 29] |
' |
' |
Wdaysys = 2000 |
' システムが累計し続ける日数。 |
B3day = Date(wdaysys) |
' 3バイトの日,月,年に変換。 |
Print B3year ; " " ; B3month ; " " ; B3day |
' 変換結果[5 6 23] |
' |
' |
Strdate = "08/05/04" |
' 日付表現(形式)の文字列。 |
B3day = Date(strdate) |
' 3バイトの日,月,年に変換。 |
Print B3year ; " " ; B3month ; " " ; B3day |
' 変換結果[8 5 4] |
' |
' |
Lsecsys = 123456789 |
' システムが累計し続ける秒数。 |
Strdate = Date(lsecsys) |
' 日付表現(形式)の文字列に変換。 |
Print Strdate |
' 変換結果[03/11/29] |
' |
' |
Wdaysys = 2000 |
' システムが累計し続ける日数。 |
Strdate = Date(wdaysys) |
' 日付表現(形式)の文字列に変換。 |
Print Strdate |
' 変換結果[05/06/23] |
' |
' |
B3year = 8 : B3month = 5 : B3day = 4 |
' 3バイトの年,月,日。 |
Strdate = Date(b3day) |
' 日付表現(形式)の文字列に変換。 |
Print Strdate |
' 変換結果[08/05/04] |
End |
' |
|
・「システムが累計し続ける秒数」とは、BASCOMが自動的にカウントする物ではありません。
・自作のルーチンで特定の変数を1秒ごとに+1していった物を、その経過した秒数から年/月/日を
割り出す命令です。
・例えば、100,000秒は何年間:何ヶ月:何日かという計算です。
・実際の用途としては、常時通電している装置で起動から1秒ごとに変数を+1していき、稼働時間が
どれくらい経過しているかを、年/月/日に変換して表します。
・「システムが累計し続ける日数」も同様に、1日に1回特定の変数を+1していった物を、その経過した
日数から年/月/日を割り出す命令です。
|
VERSION |
一覧へ戻る |
プログラムがコンパイルされた日付と時間を、文字変数に入れます。
書式 |
variable = Version(type) |
注釈 |
variable = コンパイルされた日付と時間を入れる文字変数。 (19文字)
type = 日付の表現形式。 (0 または 1) |
・日付の表現形式。
type = 0 MM-DD-YYYY HH:MM:SS 月-日-年 時:分:秒
type = 1 DD-MM-YYYY HH:MM:SS 日-月-年 時:分:秒
・VER()命令とは、異なる命令です。
|
|