斯塔塔麻烦的四舍五入时间

我正在尝试在Stata中将时间舍入到最近的15分钟时间间隔,因此例如2017年12月31日23:58将变为2018年1月1日00:00。我已存储(基于我的文档的理解)作为自1960年开始的毫秒数时间,所以我认为这将做到这一点:斯塔塔麻烦的四舍五入时间

根圆= ROUND(日期时间,60000 * 15)

但是,这并不奏效。例如2017年11月3日19时45分27秒变成11月3日2017年19时46分1秒,当我想我应该成为19时45分00秒。有没有人知道我在这里错过了什么?

回答:

让我们来演示一个工作示例,说明我的评论,您需要将datetime值存储为double而不是float

. clear 

. set obs 1

number of observations (_N) was 0, now 1

. gen double datetime = clock("Nov 03, 2017 19:45:27","MDYhms")

. gen round_f = round(datetime, 60000*15)

. gen double round_d = round(datetime, 60000*15)

. format datetime round_f round_d %tc

. list, clean noobs

datetime round_f round_d

03nov2017 19:45:27 03nov2017 19:46:01 03nov2017 19:45:00

以上是 斯塔塔麻烦的四舍五入时间 的全部内容, 来源链接: utcz.com/qa/258772.html

回到顶部