UTC datetime을 시간대를 사용하여 로컬 datetime으로 변환

CurtLH

나는 열이 포함 된 dataframe가 start_timetimezone(아래 예 참조). start_timeUTC에 기록됩니다. start_time_local해당 레코드에 대한 현지 시간대 내의 시작 시간을 포함 하는 새 열을 만들고 싶습니다 .

나는 등 많은 예 시도했습니다 format(), force_tz(), with_tz(), 등,하지만 대부분의 내가 어떻게 같은 시간대에 모든 타임 스탬프를 변환하는 쇼를 본 적이 예, 그리고 그 각각의 타임 스탬프의 각각의 시간대를

+---------------------+---------------------+
|     start_time      |      timezone       |
+---------------------+---------------------+
| 2020-07-07 16:01:15 | Europe/Dublin       |
| 2020-07-07 21:01:28 | America/Los_Angeles |
| 2020-07-20 12:45:33 | America/New_York    |
| 2020-07-24 16:00:32 | America/Los_Angeles |
| 2020-07-09 14:00:39 | Europe/London       |
| 2020-07-16 20:30:30 | America/Los_Angeles |
| 2020-07-29 14:03:09 | Europe/London       |
| 2020-07-27 20:59:32 | America/Los_Angeles |
| 2020-07-20 16:09:54 | America/Denver      |
| 2020-07-21 09:51:04 | Europe/Dublin       |
+---------------------+---------------------+
# example data
df <- structure(list(start_time = structure(c(1594162875, 1594180888, 
1595274333, 1595631632, 1594328439, 1594956630, 1596056589, 1595908772, 
1595286594, 1595350264), class = c("POSIXct", "POSIXt"), tzone = ""), 
    timezone = c("Europe/Dublin", "America/Los_Angeles", "America/New_York", 
    "America/Los_Angeles", "Europe/London", "America/Los_Angeles", 
    "Europe/London", "America/Los_Angeles", "America/Denver", 
    "Europe/Dublin")), row.names = c(NA, -10L), class = "data.frame")
앨런 카메론

불행히도 시간대는 전체 벡터에 적용되는 단일 원자 속성으로 저장되기 때문에 단일 POSIXct 벡터 내에 다른 시간대를 가질 수 없습니다. 이 속성에 여러 시간대를 쓰려고하면 POSIXct에 대한 S3 메서드의 작동이 중지됩니다.

이것이 당신이 추구하고 싶은 것이 있다면 이러한 종류의 문제를 처리하기 위해 새로운 S3 클래스를 작성할 수 있습니다. 이러한 클래스의 맨 뼈는 다음과 같습니다.

POSIX_multi_tz <- function(UTC_times, time_zones)
{
  structure(as.numeric(UTC_times), 
            class = c("POSIXmulti", "POSIXt"), 
            tz = time_zones)
}

format.POSIXmulti <- function(x, ...)
{
  unlist(mapply(function(a, b) {
    format(as.POSIXct(a, origin = "1970-01-01"), tz = b, usetz = TRUE)
    }, a = x, b = attr(x, "tz"), SIMPLIFY = FALSE))
}

print.POSIXmulti <- function(x, ...)
{
  print(format(x, ...))
}

이렇게하면 다음과 같은 동작이 가능합니다.

df$new_time <- POSIX_multi_tz(df$start_time, df$timezone)

df
#>             start_time            timezone                new_time
#> 1  2020-07-08 00:01:15       Europe/Dublin 2020-07-08 00:01:15 IST
#> 2  2020-07-08 05:01:28 America/Los_Angeles 2020-07-07 21:01:28 PDT
#> 3  2020-07-20 20:45:33    America/New_York 2020-07-20 15:45:33 EDT
#> 4  2020-07-25 00:00:32 America/Los_Angeles 2020-07-24 16:00:32 PDT
#> 5  2020-07-09 22:00:39       Europe/London 2020-07-09 22:00:39 BST
#> 6  2020-07-17 04:30:30 America/Los_Angeles 2020-07-16 20:30:30 PDT
#> 7  2020-07-29 22:03:09       Europe/London 2020-07-29 22:03:09 BST
#> 8  2020-07-28 04:59:32 America/Los_Angeles 2020-07-27 20:59:32 PDT
#> 9  2020-07-21 00:09:54      America/Denver 2020-07-20 17:09:54 MDT
#> 10 2020-07-21 17:51:04       Europe/Dublin 2020-07-21 17:51:04 IST

하지만 조심하십시오-POSIXct 객체를 사용하는 방식으로이 클래스를 사용할 수 있으려면 여전히 약간의 작업이 필요합니다. 초를 더하고 빼기 위해 여전히 산술 함수를 사용할 수 있지만 lubridate패키지 또는 이와 유사한 것을 사용하는 경우 Ops기간, 기간 등을 추가하기 위해 다양한 것을 정의하지 않는 한이 클래스에 대해 많은 메서드가 작동하지 않습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Pandas : 시간대 이름을 사용하여 datetime으로 변환

분류에서Dev

정확한 오프셋을 사용하여 UTC DateTime을 EST DateTime으로 변환

분류에서Dev

datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

분류에서Dev

datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

분류에서Dev

.NET Noda 시간 특정 시간대의 로컬 DateTime을 UTC로 변환

분류에서Dev

날짜, 시간 및 UTC 오프셋을 로컬 DateTime으로 변환하는 방법

분류에서Dev

시간대를 사용하여 문자열을 datetime으로 변환

분류에서Dev

Javascript-시간대를 알고있는 datetime을 UTC로 변환

분류에서Dev

Python을 사용하여 datetime.date를 Date.UTC로 변환하는 방법

분류에서Dev

부스트를 사용하여 UTC 시간을 사용자 지정 시간대로 변환

분류에서Dev

Pandas의 시간대를 사용하여 Unix Epoch 시간을 datetime으로 변환하는 방법

분류에서Dev

Ruby on Rails는 날짜를 쿼리하여 데이터베이스에서 UTC에서 사용자 시간대로 변환하여 datetime을 검색합니다.

분류에서Dev

Android / Joda 시간-dateTime을 내 로컬 DateTime으로 변환

분류에서Dev

pig를 사용하여 UTC 시간을 IST로 변환하는 방법

분류에서Dev

UTC / GMT 시간대를 사용하여 문자열을 날짜로 변환하는 방법

분류에서Dev

XSLT를 사용하여 현지 시간 문자열을 UTC로 변환

분류에서Dev

다른 유형의 시간 형식을 사용하여 datetime으로 변환

분류에서Dev

오프셋 비교를 통해 UTC 시간을 로컬 날짜 시간으로 변환하는 XSL

분류에서Dev

로컬 datetime을 DST를 지원하는 UTC로 변환하려면 SQL Server 함수가 필요합니다.

분류에서Dev

UTC datetime을 BST 시간으로 변환하는 방법 영국 서머 타임 (BST) Laravel Carbon

분류에서Dev

DateTime을 UTC에서 로컬로 변환 한 다음 요소를 안정적으로 캡처하려면 어떻게합니까

분류에서Dev

UTC에서 CST 로의 변환이 datetime을 사용하여 잘못됨

분류에서Dev

GMT datetime을 현지 시간대 datetime으로 변환

분류에서Dev

DateTime은 UTC에서 다른 시간대로 변환

분류에서Dev

JavaScript를 사용하여 UTC를 표준 날짜 시간 형식으로 변환

분류에서Dev

PHP를 사용하여 UTC를 현지 시간으로 자동 변환

분류에서Dev

PHP를 사용하여 UTC를 현지 시간으로 자동 변환

분류에서Dev

시간대를 사용하여 시간을 Datetime으로 구문 분석

분류에서Dev

mvc4의 noda 시간을 사용하여 브라질 시간으로 UTC 시간 변환

Related 관련 기사

  1. 1

    Pandas : 시간대 이름을 사용하여 datetime으로 변환

  2. 2

    정확한 오프셋을 사용하여 UTC DateTime을 EST DateTime으로 변환

  3. 3

    datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

  4. 4

    datetime 패키지 만 사용하여 현재 시간을 UTC 시간 파이썬으로 변환

  5. 5

    .NET Noda 시간 특정 시간대의 로컬 DateTime을 UTC로 변환

  6. 6

    날짜, 시간 및 UTC 오프셋을 로컬 DateTime으로 변환하는 방법

  7. 7

    시간대를 사용하여 문자열을 datetime으로 변환

  8. 8

    Javascript-시간대를 알고있는 datetime을 UTC로 변환

  9. 9

    Python을 사용하여 datetime.date를 Date.UTC로 변환하는 방법

  10. 10

    부스트를 사용하여 UTC 시간을 사용자 지정 시간대로 변환

  11. 11

    Pandas의 시간대를 사용하여 Unix Epoch 시간을 datetime으로 변환하는 방법

  12. 12

    Ruby on Rails는 날짜를 쿼리하여 데이터베이스에서 UTC에서 사용자 시간대로 변환하여 datetime을 검색합니다.

  13. 13

    Android / Joda 시간-dateTime을 내 로컬 DateTime으로 변환

  14. 14

    pig를 사용하여 UTC 시간을 IST로 변환하는 방법

  15. 15

    UTC / GMT 시간대를 사용하여 문자열을 날짜로 변환하는 방법

  16. 16

    XSLT를 사용하여 현지 시간 문자열을 UTC로 변환

  17. 17

    다른 유형의 시간 형식을 사용하여 datetime으로 변환

  18. 18

    오프셋 비교를 통해 UTC 시간을 로컬 날짜 시간으로 변환하는 XSL

  19. 19

    로컬 datetime을 DST를 지원하는 UTC로 변환하려면 SQL Server 함수가 필요합니다.

  20. 20

    UTC datetime을 BST 시간으로 변환하는 방법 영국 서머 타임 (BST) Laravel Carbon

  21. 21

    DateTime을 UTC에서 로컬로 변환 한 다음 요소를 안정적으로 캡처하려면 어떻게합니까

  22. 22

    UTC에서 CST 로의 변환이 datetime을 사용하여 잘못됨

  23. 23

    GMT datetime을 현지 시간대 datetime으로 변환

  24. 24

    DateTime은 UTC에서 다른 시간대로 변환

  25. 25

    JavaScript를 사용하여 UTC를 표준 날짜 시간 형식으로 변환

  26. 26

    PHP를 사용하여 UTC를 현지 시간으로 자동 변환

  27. 27

    PHP를 사용하여 UTC를 현지 시간으로 자동 변환

  28. 28

    시간대를 사용하여 시간을 Datetime으로 구문 분석

  29. 29

    mvc4의 noda 시간을 사용하여 브라질 시간으로 UTC 시간 변환

뜨겁다태그

보관