R言語で、日時ベクトルから指定したタイムゾーンのローカル時刻(時・分・秒)を取得する方法について解説します。時間に関する処理はtidyverseパッケージに含まれているlubridateパッケージを使うのがとても便利です。ここでは、lubridateパッケージのlocal_time()の使用方法についてお伝えします。
local_time()の概要
local_time()は、日時ベクトルから指定したタイムゾーンのローカル時刻(時・分・秒)を取得するための関数です。local_time()は、指定されたタイムゾーンにおける日中の時刻を取得します。計算は「dt」と「tz」の両方の引数に対してベクトル化され、標準的なRの規則に従って最短の引数が再利用されます。
local_time()の使い方
local_time(dt, tz = NULL, units = "secs")
local_time()の引数
dt
date-timeオブジェクトを指定します。
tz = NULL
ローカル時刻を計算する対象となるタイムゾーンの文字ベクトルを指定します。
units = “secs”
as.difftime()に直接渡されます。
準備
あらかじめ、tidyverseパッケージを読み込んでおきます。
library(tidyverse)
使用例
ymd_hms("2001-02-03 02:00:00", tz = "Asia/Tokyo") |>
local_time(tz = "Asia/Singapore", units = "secs")
Time difference of 3600 secs