学習バンザイITエンジニアの精神安穏日記

ITエンジニアというより、IT系雑務者

rubyでミリ秒をHH:MM:ss, LLL形式にする方法

正確な時刻や動画関係あつかっていると出くわすかもな問題 例) 字幕のためのsrt形式にする場合など

できた例

data = 33690
 Time.at(data / 1000.0).utc.instance_eval { '%s,%03d' % [strftime('%H:%M:%S'), (usec / 1000.0).round] }

=> "00:33.690"

できなかった方法

data = 33690
Time.at(data/ 1000.0).utc.strftime('%H:%M:%S,%L')
=> "00:33.689"