スクリプト/コツ/時間(ミリ秒)を文字列で表示する関数
最終投稿者: fmy
更新:2011/08/30 01:11:17
ミリ秒で表された時間の数値を、時・分・秒・ミリ秒単位に区切って文字列で返します。
主に関数getTime()の受け皿などにご利用下さい。
intercept_strの引数となる文字を「時」「分」「秒」「ミリ秒」等に変えてもいいでしょう。
aoihikawa様
『汎用関数スクリプト』 0埋め文字列の作成
の関数addZero()を使用しています。
事前に定義が必要です。
この範囲で不具合などございましたらご報告下さい。
サンプル1
「12:34'56"789.」と表示されれば正常。
サンプル2
「00'56」と表示されれば正常。
ツイート
主に関数getTime()の受け皿などにご利用下さい。
intercept_strの引数となる文字を「時」「分」「秒」「ミリ秒」等に変えてもいいでしょう。
aoihikawa様
『汎用関数スクリプト』 0埋め文字列の作成
の関数addZero()を使用しています。
事前に定義が必要です。
この範囲で不具合などございましたらご報告下さい。
def getStringTime_work( time, time_org, force, next_force, intercept_str, div, dig_max, dig_num ) text = "" if force == 1 || ( force == 0 && div <= time_org ) if div == 0 div = 1 end dig = floor( time / div ) % dig_max text = addZero( dig, dig_num ) if 0 <= next_force text = text + intercept_str end end return text end # time : getTime()とかからのミリ秒単位の値 # force_x = 1:数値が0でも表示 # 0:数値があれば表示 # -1:数値があっても表示しない def getStringTime( time, force_h, force_m, force_s, force_ms ) text = "" time_org = time div = 1000*60*60 # hour text = text + getStringTime_work( time, time_org, force_h, force_m, ":", div, 24, 2 ) time = time % div div = 1000*60 # minute text = text + getStringTime_work( time, time_org, force_m, force_s, "'", div, 60, 2 ) time = time % div div = 1000 # second text = text + getStringTime_work( time, time_org, force_s, force_ms, "\"", div, 60, 2 ) time = time % div div = 0 # milli second text = text + getStringTime_work( time, time_org, force_ms, 0, ".", div, 1000, 3 ) time = time % div return text end
サンプル1
h = 12 *1000*60*60 m = 34 *1000*60 s = 56 *1000 ms = 789 str = getStringTime( h+m+s+ms, 0, 0, 0, 0 ) speak( str )
サンプル2
h = 0 *1000*60*60 m = 0 *1000*60 s = 56 *1000 ms = 789 str = getStringTime( h+m+s+ms, 0, 1, 1, -1 ) speak( str )
コメントする
コメントするには、ログインする必要があります。
コメント一覧
コメントはありません。