斯塔塔麻烦的四舍五入时间
我正在尝试在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