楼主: chenxiao403
3195 7

[时间序列问题] 字符型变量如何转成时间变量(含时分秒),并计算时间间隔(分或秒)? [推广有奖]

  • 0关注
  • 15粉丝

上帝,请赐予我平静, 去接受我无法改变的。 给予我勇气, 去

已卖:131份资源

教授

32%

还不是VIP/贵宾

-

威望
0
论坛币
1811 个
通用积分
1.9326
学术水平
14 点
热心指数
17 点
信用等级
8 点
经验
52508 点
帖子
496
精华
0
在线时间
2061 小时
注册时间
2013-6-18
最后登录
2025-11-25

楼主
chenxiao403 发表于 2017-3-17 22:56:50 |AI写论文
100论坛币
求大神帮助!
如下图所示,数据是这种字符型的,目标是计算上下两个订单之间的间隔时间,按秒(或分)计算,不知道用什么命令?


QQ截图20170317225119.png

最佳答案

夏目贵志 查看完整内容

楼主需要参考一下help dates里的内容。不然以后还会遇到类似的问题。
关键词:字符型变量 时间变量 时间间隔 字符型 求大神帮助 如何
上帝,请赐予我平静, 去接受我无法改变的。 给予我勇气, 去改变我能改变的;

沙发
夏目贵志 发表于 2017-3-17 22:56:51
楼主需要参考一下help dates里的内容。不然以后还会遇到类似的问题。

藤椅
黃河泉 在职认证  发表于 2017-3-18 06:55:52
请用 dataex (ssc install dataex) 将资料列出,大家就直接可以用 Stata 练习或使用,不必自己打资料。

板凳
chenxiao403 发表于 2017-3-18 10:01:25
夏目贵志 发表于 2017-3-17 22:56
楼主需要参考一下help dates里的内容。不然以后还会遇到类似的问题。
谢谢你,按照你的提示我做出来了。
gen newvar=subinstr(TIME, "-", ".", .)
gen newvar1=subinstr(TIME, "T", " ", .) //把原来2010-10-12T14:12:50,替换成2010.10.12 14:12:50
gen double eventtime = clock(newvar1, "YMDhms")
gen JIAOYITIME=eventtime/1000

报纸
夏目贵志 发表于 2017-3-19 02:41:54
chenxiao403 发表于 2017-3-18 10:01
谢谢你,按照你的提示我做出来了。
gen newvar=subinstr(TIME, "-", ".", .)
gen newvar1=subinstr(TIM ...
最后一步没看懂是为了实现什么功能。。。能说明一下吗?

地板
chenxiao403 发表于 2017-3-19 10:46:56
转换过来的日期是以秒*1000为单位计算,换算成秒需要除以1000~

7
黃河泉 在职认证  发表于 2017-3-19 10:57:28
chenxiao403 发表于 2017-3-18 10:01
谢谢你,按照你的提示我做出来了。
gen newvar=subinstr(TIME, "-", ".", .)
gen newvar1=subinstr(TIM ...
  1. clear
  2. input str20 t
  3. "2010-10-13T16:12:45"
  4. "2010-10-13T16:19:05"
  5. end

  6. generate double eventtime = clock(t, "YMD#hms")
  7. format eventtime %tc
  8. gen diff = (eventtime - eventtime[_n-1])/1000
复制代码

8
chenxiao403 发表于 2017-3-19 11:09:41
黃河泉 发表于 2017-3-19 10:57
谢谢你,你的命令更加简洁省时~

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-16 07:48