GETWEEK - [日時] |
||||||
… 日付に対する曜日を取得
GETWEEK(日付,タイプ)
日付: YYYYMMDD形式の数値
タイプ: 0〜5の数値
指定した日付の曜日を返します。日付は、YYYYMMDDの形式で数値を指定します。
タイプに指定した数値によって、返る値が異なります。
0 - 曜日を表す数値(0〜6=日〜土)
1 - 漢字1文字
2 - ()付き漢字1文字
3 - 漢字+"曜日"
4 - 英語頭3文字
5 - 英語フルスペル
実在しない日付(例: 20020931)は指定しないでください。
実在しない日付を指定した場合は、0に相当する値が返ります(実際に返る値は、指定したタイプによって異なります)。
(サンプル 1)
REM 944BASIC 'GETWEEKサンプル'
*START
CLS: LOCATE 0,0: Y='': M='': D=''
PRINT '西暦で年を入力してください'
INPUT Y,4,4
PRINT '月を入力してください'
INPUT M,2,4
PRINT '日を入力してください'
INPUT D,2,4
REM 1桁の場合、頭に0を付加
IF LEN(M)=1 THEN M=STRCAT('0',M)
IF LEN(D)=1 THEN D=STRCAT('0',D)
A=STRCAT(Y,M,D)
W=GETWEEK(A,3) :REM 曜日を取得
PRINT W
KEYWAIT
GOTO *START
(サンプル 2)
REM 944BASIC '今月のカレンダー'
DIM WK(6)='Su','Mo','Tu','We','Th','Fr','Sa': REM 曜日表示用
D=DATE:DD=D%100: REM 日付取得
YY=INT(D/10000):MM=INT(D/100)%100
DW=GETWEEK(D-DD+1,0):REM 1日の曜日
W=32:W2=W/2:REM W=表示間隔,W2=左余白
X=W*(DW+1)-W2:Y=44:FONT 80
FOR I=1 TO GETMONTH(D)
IF X>W*7 THEN X=W-W2:Y=Y+W+5
GCURSOR X,20: PRINT WK((I+1)%7)
IF I<10 THEN GCURSOR X+4,Y ELSE GCURSOR X,Y: REM 1桁数字の位置調整
PRINT I: X=X+W :REM 日を表示
NEXT I
MM=STRCAT("- ",YY,'. ',MM,'. -')
GCURSOR W*7*(W/100),4: PRINT MM
KEYWAIT
GETWEEK - [日時] |