K_WHAT_YOUBI
「K_WHAT_YOUBI」は、特定の年月日から曜日を求めることができる命令です。
このページでは、文字処理に特化したHSP用モジュール命令セット「kurage_mod」の命令を解説しています。
【書式】
val = K_WHAT_YOUBI ( p1 , p2 )
p1 : var 西暦+月+日からなる8桁の半角数字
p2 : int 数値で返ってきた曜日を整形するかどうか(0-7のオプション)
【解説】
特定の年月日が何曜日だったか…それを調べることができる命令です。未来、過去、それぞれ10年分ほどの範囲で検索できます。範囲外の年月日を入力した際のエラーチェックは行っていないため、範囲外の入力では正確な数値が返ってきませんので注意してください。
p1の変数には、からなず西暦+月+日の8桁の半角数字を入れてください。
(例…2012年1月31日であれば…20120131)
西暦+月+日の8桁の半角数字であれば、変数の中身は数値型でも文字列型でも動作します。
返ってくる数値は、HSP標準命令のgettimeで取得できる曜日の数値(0-6)と同じものです。
(0=日曜日、1=月曜日、2=火曜日、3=水曜日、4=木曜日、5=金曜日、6=土曜日)
返ってきた数値を日本語の曜日に変換するには「kurage_mod」のK_YOUBI_STR命令が便利ですが、K_WHAT_YOUBIではその機能を含んだ物になっており、K_WHAT_YOUBIのp2オプションを指定することで、複数のスタイルの中から選んで文字列化することが可能です。
p2に0を指定、または何も指定しないと通常通りの数値が返ります。
p2に0意外のオプション(1-7)を指定した時に返る文字列は以下の通りです。
p2 = 1 …パターン0「日 月 火 水 木 金 土」
p2 = 2 …パターン1「(日)(月)(火)(水)(木)(金)(土)」
p2 = 3 …パターン2「(日)(月)(火)(水)(木)(金)(土)」
p2 = 4 …パターン3「日曜 月曜 火曜 水曜 木曜 金曜 土曜」
p2 = 5 …パターン4「日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日」
p2 = 6 …パターン5「Sun Mon Tues Wed Thurs Fri Sat
p2 = 7 …パターン6「Sunday Monday Tuesday Wednesday Thursday Friday Saturday」
【サンプル】
#include "kurage_mod\\kurage_mod.as" //HSPのフォルダ「common」内からモジュール読み込み //2012年01月28日の曜日を調べる場合…本当は土曜日です //【オプションを指定しない】 a=20120128 //西暦+月+日の変数(数値型でも文字列型でもOK) b = K_WHAT_YOUBI(a) //オプションを指定しないでおきます dialog a+"の曜日は… "+b,0,"kurage_mod「K_WHAT_YOUBI」の返り値" //ちなみに返り値の「6」は土曜日のことです。 //【オプションを指定する…その1】 a="20120128" //西暦+月+日の変数(数値型でも文字列型でもOK) b = K_WHAT_YOUBI(a,1) //オプション1を指定してみます dialog a+"の曜日は… "+b,0,"kurage_mod「K_WHAT_YOUBI」の返り値" //【オプションを指定する…その2】 a="20120128" //西暦+月+日の変数(数値型でも文字列型でもOK) b = K_WHAT_YOUBI(a,2) //オプション1を指定してみます dialog a+"の曜日は… "+b,0,"kurage_mod「K_WHAT_YOUBI」の返り値" //【オプションを指定する…その3】 a="20120128" //西暦+月+日の変数(数値型でも文字列型でもOK) b = K_WHAT_YOUBI(a,5) //オプション1を指定してみます dialog a+"の曜日は… "+b,0,"kurage_mod「K_WHAT_YOUBI」の返り値" stop
【関連項目】
- K_YOUBI_STR … 曜日の数値を文字列に変換する (kurage_mod)
- K_WHAT_DAY … 特定の日付から○日後を求める (kurage_mod)