Examples for 'data.table::IDate'


Integer based date class

Aliases: IDate as.IDate ITime as.ITime IDateTime as.character.ITime as.Date.IDate as.IDate.Date as.IDate.default as.ITime.character as.ITime.default as.ITime.POSIXlt as.ITime.times as.list.IDate as.POSIXct.IDate as.POSIXct.ITime as.POSIXlt.ITime c.IDate c.ITime format.ITime IDateTime.default mean.IDate mean.ITime print.ITime rep.IDate rep.ITime round.IDate round.ITime trunc.ITime seq.IDate seq.ITime second minute hour yday wday mday week isoweek month quarter year IDate-class ITime-class

Keywords: utilities

### ** Examples


# create IDate:
(d <- as.IDate("2001-01-01"))
[1] "2001-01-01"
# S4 coercion also works
identical(as.IDate("2001-01-01"), as("2001-01-01", "IDate"))
[1] TRUE
# create ITime:
(t <- as.ITime("10:45"))
[1] "10:45:00"
# S4 coercion also works
identical(as.ITime("10:45"), as("10:45", "ITime"))
[1] TRUE
(t <- as.ITime("10:45:04"))
[1] "10:45:04"
(t <- as.ITime("10:45:04", format = "%H:%M:%S"))
[1] "10:45:04"
as.POSIXct("2001-01-01") + as.ITime("10:45")
[1] "2001-01-01 10:45:00 UTC"
datetime <- seq(as.POSIXct("2001-01-01"), as.POSIXct("2001-01-03"), by = "5 hour")
(af <- data.table(IDateTime(datetime), a = rep(1:2, 5), key = "a,idate,itime"))
         idate    itime a
 1: 2001-01-01 00:00:00 1
 2: 2001-01-01 10:00:00 1
 3: 2001-01-01 20:00:00 1
 4: 2001-01-02 06:00:00 1
 5: 2001-01-02 16:00:00 1
 6: 2001-01-01 05:00:00 2
 7: 2001-01-01 15:00:00 2
 8: 2001-01-02 01:00:00 2
 9: 2001-01-02 11:00:00 2
10: 2001-01-02 21:00:00 2
af[, mean(a), by = "itime"]
       itime V1
 1: 00:00:00  1
 2: 10:00:00  1
 3: 20:00:00  1
 4: 06:00:00  1
 5: 16:00:00  1
 6: 05:00:00  2
 7: 15:00:00  2
 8: 01:00:00  2
 9: 11:00:00  2
10: 21:00:00  2
af[, mean(a), by = list(hour = hour(itime))]
    hour V1
 1:    0  1
 2:   10  1
 3:   20  1
 4:    6  1
 5:   16  1
 6:    5  2
 7:   15  2
 8:    1  2
 9:   11  2
10:   21  2
af[, mean(a), by = list(wday = factor(weekdays(idate)))]
      wday  V1
1:  Monday 1.4
2: Tuesday 1.6
af[, mean(a), by = list(wday = wday(idate))]
   wday  V1
1:    2 1.4
2:    3 1.6
as.POSIXct(af$idate)
 [1] "2001-01-01 UTC" "2001-01-01 UTC" "2001-01-01 UTC" "2001-01-02 UTC"
 [5] "2001-01-02 UTC" "2001-01-01 UTC" "2001-01-01 UTC" "2001-01-02 UTC"
 [9] "2001-01-02 UTC" "2001-01-02 UTC"
as.POSIXct(af$idate, time = af$itime)
 [1] "2001-01-01 00:00:00 UTC" "2001-01-01 10:00:00 UTC"
 [3] "2001-01-01 20:00:00 UTC" "2001-01-02 06:00:00 UTC"
 [5] "2001-01-02 16:00:00 UTC" "2001-01-01 05:00:00 UTC"
 [7] "2001-01-01 15:00:00 UTC" "2001-01-02 01:00:00 UTC"
 [9] "2001-01-02 11:00:00 UTC" "2001-01-02 21:00:00 UTC"
as.POSIXct(af$idate, af$itime)
 [1] "2001-01-01 00:00:00 UTC" "2001-01-01 10:00:00 UTC"
 [3] "2001-01-01 20:00:00 UTC" "2001-01-02 06:00:00 UTC"
 [5] "2001-01-02 16:00:00 UTC" "2001-01-01 05:00:00 UTC"
 [7] "2001-01-01 15:00:00 UTC" "2001-01-02 01:00:00 UTC"
 [9] "2001-01-02 11:00:00 UTC" "2001-01-02 21:00:00 UTC"
as.POSIXct(af$idate, time = af$itime, tz = "GMT")
 [1] "2001-01-01 00:00:00 GMT" "2001-01-01 10:00:00 GMT"
 [3] "2001-01-01 20:00:00 GMT" "2001-01-02 06:00:00 GMT"
 [5] "2001-01-02 16:00:00 GMT" "2001-01-01 05:00:00 GMT"
 [7] "2001-01-01 15:00:00 GMT" "2001-01-02 01:00:00 GMT"
 [9] "2001-01-02 11:00:00 GMT" "2001-01-02 21:00:00 GMT"
as.POSIXct(af$itime, af$idate)
 [1] "2001-01-01 00:00:00 UTC" "2001-01-01 10:00:00 UTC"
 [3] "2001-01-01 20:00:00 UTC" "2001-01-02 06:00:00 UTC"
 [5] "2001-01-02 16:00:00 UTC" "2001-01-01 05:00:00 UTC"
 [7] "2001-01-01 15:00:00 UTC" "2001-01-02 01:00:00 UTC"
 [9] "2001-01-02 11:00:00 UTC" "2001-01-02 21:00:00 UTC"
as.POSIXct(af$itime) # uses today's date
 [1] "2025-08-11 00:00:00 UTC" "2025-08-11 10:00:00 UTC"
 [3] "2025-08-11 20:00:00 UTC" "2025-08-11 06:00:00 UTC"
 [5] "2025-08-11 16:00:00 UTC" "2025-08-11 05:00:00 UTC"
 [7] "2025-08-11 15:00:00 UTC" "2025-08-11 01:00:00 UTC"
 [9] "2025-08-11 11:00:00 UTC" "2025-08-11 21:00:00 UTC"
(seqdates <- seq(as.IDate("2001-01-01"), as.IDate("2001-08-03"), by = "3 weeks"))
 [1] "2001-01-01" "2001-01-22" "2001-02-12" "2001-03-05" "2001-03-26"
 [6] "2001-04-16" "2001-05-07" "2001-05-28" "2001-06-18" "2001-07-09"
[11] "2001-07-30"
round(seqdates, "months")
 [1] "2001-01-01" "2001-01-01" "2001-02-01" "2001-03-01" "2001-03-01"
 [6] "2001-04-01" "2001-05-01" "2001-05-01" "2001-06-01" "2001-07-01"
[11] "2001-07-01"
(seqtimes <- seq(as.ITime("07:00"), as.ITime("08:00"), by = 20))
  [1] "07:00:00" "07:00:20" "07:00:40" "07:01:00" "07:01:20" "07:01:40"
  [7] "07:02:00" "07:02:20" "07:02:40" "07:03:00" "07:03:20" "07:03:40"
 [13] "07:04:00" "07:04:20" "07:04:40" "07:05:00" "07:05:20" "07:05:40"
 [19] "07:06:00" "07:06:20" "07:06:40" "07:07:00" "07:07:20" "07:07:40"
 [25] "07:08:00" "07:08:20" "07:08:40" "07:09:00" "07:09:20" "07:09:40"
 [31] "07:10:00" "07:10:20" "07:10:40" "07:11:00" "07:11:20" "07:11:40"
 [37] "07:12:00" "07:12:20" "07:12:40" "07:13:00" "07:13:20" "07:13:40"
 [43] "07:14:00" "07:14:20" "07:14:40" "07:15:00" "07:15:20" "07:15:40"
 [49] "07:16:00" "07:16:20" "07:16:40" "07:17:00" "07:17:20" "07:17:40"
 [55] "07:18:00" "07:18:20" "07:18:40" "07:19:00" "07:19:20" "07:19:40"
 [61] "07:20:00" "07:20:20" "07:20:40" "07:21:00" "07:21:20" "07:21:40"
 [67] "07:22:00" "07:22:20" "07:22:40" "07:23:00" "07:23:20" "07:23:40"
 [73] "07:24:00" "07:24:20" "07:24:40" "07:25:00" "07:25:20" "07:25:40"
 [79] "07:26:00" "07:26:20" "07:26:40" "07:27:00" "07:27:20" "07:27:40"
 [85] "07:28:00" "07:28:20" "07:28:40" "07:29:00" "07:29:20" "07:29:40"
 [91] "07:30:00" "07:30:20" "07:30:40" "07:31:00" "07:31:20" "07:31:40"
 [97] "07:32:00" "07:32:20" "07:32:40" "07:33:00" "07:33:20" "07:33:40"
[103] "07:34:00" "07:34:20" "07:34:40" "07:35:00" "07:35:20" "07:35:40"
[109] "07:36:00" "07:36:20" "07:36:40" "07:37:00" "07:37:20" "07:37:40"
[115] "07:38:00" "07:38:20" "07:38:40" "07:39:00" "07:39:20" "07:39:40"
[121] "07:40:00" "07:40:20" "07:40:40" "07:41:00" "07:41:20" "07:41:40"
[127] "07:42:00" "07:42:20" "07:42:40" "07:43:00" "07:43:20" "07:43:40"
[133] "07:44:00" "07:44:20" "07:44:40" "07:45:00" "07:45:20" "07:45:40"
[139] "07:46:00" "07:46:20" "07:46:40" "07:47:00" "07:47:20" "07:47:40"
[145] "07:48:00" "07:48:20" "07:48:40" "07:49:00" "07:49:20" "07:49:40"
[151] "07:50:00" "07:50:20" "07:50:40" "07:51:00" "07:51:20" "07:51:40"
[157] "07:52:00" "07:52:20" "07:52:40" "07:53:00" "07:53:20" "07:53:40"
[163] "07:54:00" "07:54:20" "07:54:40" "07:55:00" "07:55:20" "07:55:40"
[169] "07:56:00" "07:56:20" "07:56:40" "07:57:00" "07:57:20" "07:57:40"
[175] "07:58:00" "07:58:20" "07:58:40" "07:59:00" "07:59:20" "07:59:40"
[181] "08:00:00"
round(seqtimes, "hours")
  [1] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
  [7] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [13] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [19] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [25] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [31] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [37] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [43] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [49] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [55] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [61] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [67] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [73] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [79] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [85] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [91] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
 [97] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[103] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[109] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[115] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[121] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[127] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[133] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[139] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[145] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[151] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[157] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[163] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[169] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[175] "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00" "08:00:00"
[181] "08:00:00"
trunc(seqtimes, "hours")
  [1] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
  [7] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [13] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [19] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [25] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [31] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [37] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [43] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [49] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [55] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [61] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [67] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [73] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [79] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [85] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [91] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
 [97] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[103] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[109] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[115] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[121] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[127] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[133] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[139] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[145] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[151] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[157] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[163] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[169] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[175] "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00" "07:00:00"
[181] "08:00:00"

[Package data.table version 1.14.2 Index]