2017年2月20日月曜日

[UWSC]日付時刻を文字列で返す関数 [自作関数]

UWSCという開発ソフトを使って作り上げる作業を実際にやってみるカテゴリ。準備した自作関数や使い方、トラブルを記事にしていきます。得るものがあれば幸いです。
今回は、日付時刻を文字列で返す関数を作りました。

記事の内容

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

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

処理を繰り返し行う場合、ログをファイルとして残していく場合がよくあります。どんなOSでもファイル名は異なっていなければいけないので、そのときの時刻をファイル名として使ったりします。またデータを記録していくプログラムなどでは識別のためにタイムスタンプが便利です。

以下の関数を使うとタイムスタンプが得られ、簡単にファイル名を生成することができます。


日付を文字列で返すtoday()関数

today()関数
1
2
3
4
5
FUNCTION today()//2016年5月4日の場合"20160504"を返す
    GETTIME()
    date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2
    RESULT=date
FEND
関数プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,5行目1
5
FUNCTION today()//2016年5月4日の場合"20160504"を返す
FEND
today()関数宣言
2016年5月4日の場合、文字列"20160504"を返す。
2行目2    GETTIME()
GETTIME()
UWSC標準関数。正式には、
戻値=GETTIME([±n日, 基準日])
この関数を呼び出すと、以下の特殊変数に値が入る。
G_TIME_YY …年、G_TIME_MM …月、
G_TIME_DD …日、G_TIME_HH …時、
G_TIME_NN …分、G_TIME_SS …秒、
G_TIME_ZZ …ミリ秒、
G_TIME_WW …曜日(0:日、~、6:土)、
G_TIME_YY2 …年をxxの文字型、
G_TIME_MM2 …月をxxの文字型、
G_TIME_DD2 …日をxxの文字型、
G_TIME_HH2 …時をxxの文字型、
G_TIME_NN2 …分をxxの文字型、
G_TIME_SS2 …秒をxxの文字型、
G_TIME_ZZ2 …ミリ秒をxxxの文字型、
G_TIME_YY4 …年(西暦)をxxxxの文字型
3行目3    date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2
変数dateに、現在の 年(4桁)+月(2桁)+日(2桁) を代入。
4行目4    RESULT=date
関数の戻り値として変数dateを返す。

呼び出し側today R=today()
//Rには"20170220"が代入される(2017年2月20日の18時15分22秒に呼び出した場合)


時刻を文字列で返すtime()関数

time()関数
1
2
3
4
5
FUNCTION time()//20時36分44秒の場合"203644"を返す
    GETTIME()
    time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2
    RESULT=time
FEND
関数プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,5行目1
5
FUNCTION time()//20時36分44秒の場合"203644"を返す
FEND
time()関数宣言
20時36分44秒の場合、文字列"203644"を返す。
2行目2    GETTIME()
GETTIME()
UWSC標準関数。
3行目3    time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2
変数timeに、現在の 時(2桁)+分(2桁)+秒(2桁) を代入。
4行目4    RESULT=time
関数の戻り値として変数timeを返す。

呼び出し側time R=time()
//Rには"181522"が代入される(2017年2月20日の18時15分22秒に呼び出した場合)


日付時刻を文字列で返すtodaytime()関数

todaytime()関数
1
2
3
4
5
6
FUNCTION todaytime()//2016年5月4日20時36分44秒の場合"20160504_203644"を返す
            GETTIME()
            date=G_TIME_YY4+G_TIME_MM2+G_TIME_DD2
            time=G_TIME_HH2+G_TIME_NN2+G_TIME_SS2
            RESULT=date+"_"+time
FEND
プログラム説明(○⇒:成り立つ場合、×⇒:成り立たない場合)
1,6行目1
6
FUNCTION todaytime()//2016年5月4日20時36分44秒の場合"20160504_203644"を返す
FEND
todaytime()関数宣言
2016年5月4日20時36分44秒の場合、文字列"20160504_203644"を返す。
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行目5            RESULT=date+"_"+time
関数の戻り値として、変数dateと変数timeの戻り値を“_(アンダーバー)でつなげたものを返す。

呼び出し側todaytime R=todaytime()
//Rには"20170220_181522"が代入される(2017年2月20日の18時15分22秒に呼び出した場合)


これらの使い所

使い方としては、
1fname="Poku_"+time()+".log"
使用例(○⇒:成り立つ場合、×⇒:成り立たない場合)
1行目1fname="Poku_"+time()+".log"
変数fnameには、"Poku_223011.log"が代入されます。 (コードを実行した時刻が22時30分11秒だった場合)



記事の内容

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


【関連記事】
[UWSC]現在のタイムスタンプ(文字列)を返す関数
[UWSC]タイムアウト関数(作り直し)
[UWSC]ファイル操作の関数


スポンサーリンク



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

blogramのブログランキング

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

免責事項 ホームへ戻る

スポンサーリンク





0 件のコメント:

コメントを投稿