def convert_unix_time(unix_timestamp)
time_obj = Time.at(unix_timestamp)
return time_obj.strftime("ネコ: %Y年%m月%d日 %H時%M分")
end
result = convert_unix_time(1735689600)
puts result
出力結果
ネコ: 2025年01月01日 00時00分
ミリ秒付きタイムスタンプの処理
APIから受け取ったミリ秒単位のタイムスタンプを適切に処理する例を示します。
def process_millisecond_timestamp(ms_timestamp)
seconds = ms_timestamp / 1000.0
time_obj = Time.at(seconds)
return "イヌ: #{time_obj.strftime('%H:%M:%S.%3N')}"
end
result = process_millisecond_timestamp(1735689600500)
puts result
出力結果
イヌ: 00:00:00.500
データベースから取得した時刻データの変換
データベースのタイムスタンプカラムから取得した数値を適切な形式で表示する例です。
def format_db_timestamp(timestamp, animal_name)
time_obj = Time.at(timestamp)
formatted = time_obj.strftime("%Y/%m/%d")
return "#{animal_name}: #{formatted}に記録されました"
end
result = format_db_timestamp(1735689600, "ウサギ")
puts result
出力結果
ウサギ: 2025/01/01に記録されました
時刻処理
外部APIから受け取った時刻データを加工して表示する実用的な例です。
def process_api_response(api_timestamp)
time_obj = Time.at(api_timestamp)
now = Time.now
diff = now - time_obj
return "ライオン: #{diff.to_i}秒前のデータです"
end
result = process_api_response(Time.now.to_i - 3600)
puts result
出力結果
ライオン: 3600秒前のデータです
ログファイルのタイムスタンプ解析
ログファイルに記録されたUNIX時間を解析して、エラー発生時刻を特定する例です。
def analyze_log_timestamp(log_timestamp)
error_time = Time.at(log_timestamp)
day_of_week = error_time.strftime("%A")
return "トラ: #{day_of_week}にエラーが発生"
end
result = analyze_log_timestamp(1735689600)
puts result
出力結果
トラ: Wednesdayにエラーが発生
時差を考慮した時刻変換
異なるタイムゾーンでの時刻表示を行う国際的なアプリケーションでの活用例です。
def convert_timezone(timestamp, offset_hours)
base_time = Time.at(timestamp)
adjusted_time = base_time + (offset_hours * 3600)
return "ゾウ: #{adjusted_time.strftime('%H:%M')} (UTC#{offset_hours >= 0 ? '+' : ''}#{offset_hours})"
end
result = convert_timezone(1735689600, -5)
puts result
出力結果
ゾウ: 19:00 (UTC-5)
バッチ処理での時刻計算
定期実行されるバッチ処理で、特定の時刻から一定時間後の処理タイミングを計算する例です。
def calculate_next_batch(start_timestamp, interval_minutes)
start_time = Time.at(start_timestamp)
next_time = start_time + (interval_minutes * 60)
return "サル: 次回実行は#{next_time.strftime('%H:%M')}です"
end
result = calculate_next_batch(1735689600, 30)
puts result
出力結果
サル: 次回実行は00:30です
タイムゾーン指定での時刻生成
特定のタイムゾーンを意識した時刻オブジェクトの生成と表示を行う処理例です。
def create_timezone_time(timestamp)
utc_time = Time.at(timestamp).utc
local_time = Time.at(timestamp)
return "パンダ: UTC #{utc_time.strftime('%H:%M')} / Local #{local_time.strftime('%H:%M')}"
end
result = create_timezone_time(1735689600)
puts result