UWSCという開発ソフトを使って作り上げる作業を実際にやってみるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、タイムスタンプを文字列で返す関数です。(以前作ったものの改良)
今回は、タイムスタンプを文字列で返す関数です。(以前作ったものの改良)
記事の内容
○日付時刻を文字列で返す関数
○日付時刻を文字列で返す関数
戻値(str)=t_stamp(mode)
以前、このような関数を作ったのですが、自分で使ってて面倒くさいなと思ったので作り直しました。
タイムスタンプが文字列で返される関数です。以前のものは、自作関数でパラメータ指定するのを嫌ってフォーマットごとにバラバラに作成していましたが、この程度なら1関数にまとめた方が使いやすいので作り直しました。
現在のタイムスタンプを文字列で返す関数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | FUNCTION t_stamp(mode) GETTIME() date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2 time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2 SELECT mode CASE 0 RESULT=date CASE 1 RESULT=time CASE 2 RESULT=date+“_“+time DEFAULT RESULT=“ポクエラー(time_stamp関数):定義されていないmodeが指定されました。“ SELEND FEND |
1,15行目 | 1 15 | FUNCTION t_stamp(mode) FEND |
t_stamp(mode)関数宣言 2016年5月4日20時36分44秒に呼び出された場合、 mode=0: 日付”20160504″を返す mode=1: 時刻”203644″を返す mode=2: 日付+時刻”20160504_203644″を返す mode=other: エラーを返す | ||
2行目 | 2 | GETTIME() |
GETTIME() UWSC標準関数。 | ||
3,4行目 | 3 4 | date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2 time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2 |
変数dateに、現在の 年(4桁)+月(2桁)+日(2桁) を代入。 変数timeに、現在の 時(2桁)+分(2桁)+秒(2桁) を代入。 | ||
5,14行目 | 5 14 | SELECT mode SELEND |
モードによる分岐命令。 | ||
6,7行目 | 6 7 | CASE 0 RESULT=date |
mode=0を指定された場合 戻り値として、変数dateを返す。 | ||
8,9行目 | 8 9 | CASE 1 RESULT=time |
mode=1を指定された場合 戻り値として、変数timeを返す。 | ||
10,11行目 | 10 11 | CASE 2 RESULT=date+“_“+time |
mode=2を指定された場合 戻り値として、変数dateと変数timeを“_”(アンダーバー)でつなげたものを返す。 | ||
12,13行目 | 12 13 | DEFAULT RESULT=“ポクエラー(time_stamp関数):定義されていないmodeが指定されました。“ |
mode=それ以外を指定された場合 戻り値としてエラーを返す。 |
動作確認
1 2 3 | FOR i=0 TO 3 PRINT i+“ “+t_stamp(i) NEXT |
1,3行目 | 1 3 | FOR i=0 TO 3 NEXT |
変数iを0~3までループ。 | ||
2行目 | 2 | PRINT i+“ “+t_stamp(i) |
変数iをt_stamp()関数の引数として渡し、変数iと関数の戻り値を並べて表示する。 |
0 20170526 1 231750 2 20170526_231750 3 ポクエラー(time_stamp関数):定義されていないmodeが指定されました。 |
記事の内容は伝わりましたでしょうか。
○日付時刻を文字列で返す関数
○日付時刻を文字列で返す関数
戻値(str)=t_stamp(mode)
コメント