|
1 | 1 | format_timestamp <- function(indf, index = 1) { |
2 | | - if (class(indf[[index]])[1] == "POSIXlt") { |
| 2 | + if (class(indf[[index]])[1] == "POSIXct") { |
3 | 3 | return(indf) |
4 | 4 | } |
5 | 5 | if (stringr::str_detect(indf[[index]][1], "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2} \\+\\d{4}$")) { |
6 | | - indf[[index]] <- strptime(indf[[index]], format="%Y-%m-%d %H:%M:%S", tz="UTC") |
| 6 | + indf[[index]] <- strptime(indf[[index]], format = "%Y-%m-%d %H:%M:%S", tz = "UTC") |
7 | 7 | } |
8 | 8 | else if (stringr::str_detect(indf[[index]][1], "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$")) { |
9 | | - indf[[index]] <- strptime(indf[[index]], format="%Y-%m-%d %H:%M:%S", tz="UTC") |
| 9 | + indf[[index]] <- strptime(indf[[index]], format = "%Y-%m-%d %H:%M:%S", tz = "UTC") |
10 | 10 | } |
11 | 11 | else if (stringr::str_detect(indf[[index]][1], "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}$")) { |
12 | | - indf[[index]] <- strptime(indf[[index]], format="%Y-%m-%d %H:%M", tz="UTC") |
| 12 | + indf[[index]] <- strptime(indf[[index]], format = "%Y-%m-%d %H:%M", tz = "UTC") |
13 | 13 | } |
14 | 14 | else if (stringr::str_detect(indf[[index]][1], "^\\d{2}/\\d{2}/\\d{2}$")) { |
15 | | - indf[[index]] <- strptime(indf[[index]], format="%m/%d/%y", tz="UTC") |
| 15 | + indf[[index]] <- strptime(indf[[index]], format = "%m/%d/%y", tz = "UTC") |
16 | 16 | } |
17 | 17 | else if (stringr::str_detect(indf[[index]][1], "^\\d{2}/\\d{2}/\\d{4}$")) { |
18 | | - indf[[index]] <- strptime(indf[[index]], format="%m/%d/%Y", tz="UTC") |
| 18 | + indf[[index]] <- strptime(indf[[index]], format = "%m/%d/%Y", tz = "UTC") |
19 | 19 | } |
20 | 20 | else if (stringr::str_detect(indf[[index]][1], "^\\d{4}\\d{2}\\d{2}$")) { |
21 | | - indf[[index]] <- strptime(indf[[index]], format="%Y%m%d", tz="UTC") |
| 21 | + indf[[index]] <- strptime(indf[[index]], format = "%Y%m%d", tz = "UTC") |
22 | 22 | } |
23 | 23 | else if (stringr::str_detect(indf[[index]][1], "^\\d{4}/\\d{2}/\\d{2}/\\d{2}$")) { |
24 | | - indf[[index]] <- strptime(indf[[index]], format="%Y/%m/%d/%H", tz="UTC") |
| 24 | + indf[[index]] <- strptime(indf[[index]], format = "%Y/%m/%d/%H", tz = "UTC") |
25 | 25 | } |
26 | 26 | else if (stringr::str_detect(indf[[index]][1], "^\\d{10}$")) { |
27 | 27 | # Handle Unix seconds in milliseconds |
28 | | - indf[[index]] <- as.POSIXlt(indf[[index]], origin="1970-01-01", tz="UTC") |
| 28 | + indf[[index]] <- as.POSIXlt(indf[[index]], origin = "1970-01-01", tz = "UTC") |
29 | 29 | } |
30 | 30 |
|
| 31 | + indf[[index]] <- as.POSIXct(indf[[index]], tz = "UTC") |
31 | 32 | return(indf) |
32 | 33 | } |
33 | 34 |
|
34 | 35 | get_gran = function(tsdf, index=1) { |
35 | 36 | n = length(tsdf[[index]]) |
36 | 37 | # We calculate the granularity from the time difference between the last 2 entries (sorted) |
37 | | - gran = round(difftime(max(tsdf[[index]]), sort(tsdf[[index]], partial = n-1)[n-1], |
| 38 | + gran = round(difftime(max(tsdf[[index]]), sort(tsdf[[index]], partial = n - 1)[n - 1], |
38 | 39 | units = "secs")) |
39 | 40 |
|
40 | 41 | if (gran >= 86400) { |
|
0 commit comments