2017年5月26日金曜日

[UWSC]現在のタイムスタンプ(文字列)を返す関数

UWSCという開発ソフトを使って作り上げる作業を実際にやってみるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、タイムスタンプを文字列で返す関数です。(以前作ったものの改良)

記事の内容

○日付時刻を文字列で返す関数
戻値(str)=t_stamp(mode)

スマホで閲覧されている方へ
このブログは画面横幅を広くしてあります。スマホ解像度での閲覧は厳しいと思いますので、ウェブバージョンへどうぞ。

以前、このような関数を作ったのですが、自分で使ってて面倒くさいなと思ったので作り直しました。
タイムスタンプが文字列で返される関数です。以前のものは、自作関数でパラメータ指定するのを嫌ってフォーマットごとにバラバラに作成していましたが、この程度なら1関数にまとめた方が使いやすいので作り直しました。


現在のタイムスタンプを文字列で返す関数

t_stamp(mode)関数
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=それ以外を指定された場合
戻り値としてエラーを返す。

呼び出し側t_stamp//2017年2月20日の18時15分22秒に呼び出した場合、
R=t_stamp(0)//Rには"20170220"が代入される。
R=t_stamp(1)//Rには"181522"が代入される。
R=t_stamp(2)//Rには"20170220_81522"が代入される。
R=t_stamp(3)//Rにはエラーメッセージが代入される


動作確認

動作確認プログラム
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)
変数it_stamp()関数の引数として渡し、変数iと関数の戻り値を並べて表示する。

結果(2017年5月26日23時17分50秒に実行)
0 20170526
1 231750
2 20170526_231750
3 ポクエラー(time_stamp関数):定義されていないmodeが指定されました。


記事の内容

記事の内容は伝わりましたでしょうか。
○日付時刻を文字列で返す関数
戻値(str)=t_stamp(mode)


【関連記事】
[UWSC]タイムアウト関数(作り直し)
[UWSC]日付時刻を文字列で返す関数
人気![UWSC]タイムアウト関数


スポンサーリンク



↓ ランキングに参加しています!(Ctrlキーを押しながら) ↓

blogramのブログランキング

ポク太郎の「俺の説明聞いてくれ」 
目次
ポク太郎の「俺の説明聞いてくれ」最キラー記事 IT関連
電気回路やプログラムの記事。元々のメインコンテンツ。
UWSC奮闘記
プログラミングのできる子に
デジタルの世界って
映画・ドラマ・芸能
ハリウッドが主のエンターテイメントの記事。最近は似顔絵多し。
戦士の息抜き
落書き漫画
数コマ漫画とアホ漫画。結局最大コンテンツに。
物思いに耽る
今日の数学
アホの雑記
取りとめもなく好き勝手に書く記事。不本意にも一番人気だったり。
役に立つかも
休むに似たり
好き勝手に書く
ブログ運営
AnalyticsやSerchConsolなどの使い方、アクセスアップに関する話題。
アドセンス関連
他のGoogleツール
その他
アホのもくろみ

免責事項 ホームへ戻る

スポンサーリンク





0 件のコメント:

コメントを投稿