R×lubridate::local_time 日時ベクトルから指定したタイムゾーンのローカル時刻(時・分・秒)を取得する

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