我想按组计算tab$date[i1]和tab$date[I]之间的时差(以小时为单位)。这里是我的代码:
setDT(tab)
system.time(tab <- tab[ , diffTime := c(0,diff(date, units="hours")), by="ID"])
tab$diffTime <- round(tab$diffTime)
问题是我同时获得了小时、分钟和秒:
Date DiffTime
2012-03-05 01:00:36 0
2012-03-05 03:00:35 2
2012-03-05 05:01:05 2
...
2010-01-29 21:01:00 0
2010-01-29 22:01:01 60
2010-01-29 23:01:12 60
...
2012-02-13 05:00:34 0
2012-02-13 16:01:06 39632
2012-02-14 03:00:47 39581
日期是POSIXct数据。我怎样才能只获得小时数?
我们可以使用<code>difftime</code>并将<code>单位</code<指定为“小时”。
library(data.table)
setDT(tab)[, DiffTime := c(0, round(difftime(date[-1L], date[-.N],
units='hours'))), by= ID]
tab
# ID date DiffTime
#1: 1 2012-03-05 01:00:36 0
#2: 1 2012-03-05 03:00:35 2
#3: 1 2012-03-05 05:01:05 2
#4: 2 2010-01-29 21:01:00 0
#5: 2 2010-01-29 22:01:01 1
#6: 2 2010-01-29 23:01:12 1
tab <- data.frame(ID= rep(1:2, each=3),
date= as.POSIXct(c('2012-03-05 01:00:36', '2012-03-05 03:00:35',
'2012-03-05 05:01:05', '2010-01-29 21:01:00', '2010-01-29 22:01:01',
'2010-01-29 23:01:12'), format='%Y-%m-%d %H:%M:%S'))
问题内容: 我希望得到一些帮助,以帮助我编写一些自己编写的SQL语句。 我有一张数据表: 我需要获得以下信息: 换句话说,按日期划分日期范围。在SQL中甚至可能吗? 我的数据库是Oracle 11G R2,由于某些情况,我担心不能使用PL / SQL。 问题答案: 可以在SQL中执行此操作。有两个技巧。首先是生成一系列数字,您可以使用进行CTE处理。 第二个是将正确的逻辑放在一起以扩展日期,同时保
问题内容: 我有一列希望按日期时间分组而不创建新列。这可能是我当前的代码不起作用吗? 问题答案: 正如@JosephCottam所建议的 过时的用途 您可以将索引设置为并使用
问题内容: 我想使用JSON从Python发送序列化形式的datetime.datetime对象,并使用JSON在JavaScript中反序列化。做这个的最好方式是什么? 问题答案: 你可以在中添加参数来处理此问题: 这是格式。 更全面的默认处理程序功能:
所以我想知道怎样才能有一张直接显示日期和时间的表格。
让我一起学习一个新的内建对象:日期(Date)。该对象存储日期和时间,并提供了日期/时间的管理方法。 例如,我们可以使用它来存储创建/修改时间,或者用来测量时间,再或者仅用来打印当前时间。 创建 创建一个新的 Date 对象,只需要调用 new Date(),在调用时可以带有下面这些参数之一: new Date() 不带参数 —— 创建一个表示当前日期和时间的 Date 对象: let now =
日期和时间 日期、时间、时间戳的值支持ISO 8601格式,格式还包含了时区: CALL TIMESTAMP '2008-01-01 12:00:00+01:00'; 如果未设置时区,将使用系统中当前的时区。日期和时间信息存储在 H2 数据库文件,不包含时区信息。如果数据库打开使用另一个系统时区,日期和时间将是相同的。这意味着如果你存储的值“2000-01-01 12:00:00”在一个时区,然