Office中国论坛/Access中国论坛

标题: 如何把20081201220000转换为时间进行换算 [打印本页]

作者: zhasms    时间: 2009-1-11 15:23
标题: 如何把20081201220000转换为时间进行换算
如附件所示08表里有生产开始时间,生产结束时间,要用结束时间-开始时间=生产周期,出炉时间-入炉时间=在炉时间
现在时间的类型都是文本格式,格式都为20081201220000,表示2008年12月01日22点00分00秒,现在要计算生产周期精确到秒!
请各位老大帮兄弟一下怎么办!
(兄弟用UPDATE 08 SET 生产周期=curDate(结束时间,1,8)-curDate(开始时间,1,8)   这个语句的时候报说不认识CURDATE这个命令)
另外再问一下!这个表中的时间20081201220000是从EXCEL中倒过来的,但有时后导过来时会变成2.00812E+12这种格式,请问在ACCESS里还能转回来吗
作者: Grant    时间: 2009-1-11 16:27
要转换回日期格式用mid(日期,1,4)年mid(日期,5-6)月mid(日期,7-8)类推...
作者: zhasms    时间: 2009-1-12 10:41
MID只是取值!取值后还要按照时间24小时和60秒进行进位换算!MID转换是是按照十进制进行换算啊!还有没有更好的办法
作者: Henry D. Sy    时间: 2009-1-12 10:47
不用换算,
用mid结合&
作者: Henry D. Sy    时间: 2009-1-12 10:56
Dim mydate As Date
Dim t As String
Dim y, m, d, h, n, s
t = "20081201220000"
y = Mid(t, 1, 4)
m = Mid(t, 5, 2)
d = Mid(t, 7, 2)
h = Mid(t, 9, 2)
n = Mid(t, 11, 2)
s = Mid(t, 13, 2)
mydate = CDate(y & "-" & m & "-" & d & " " & h & ":" & n & ":" & s)
MsgBox mydate
作者: zhasms    时间: 2009-1-12 18:00
转换为时间后,怎么计算2个时间的差呢!我现在用update 08 set  time=dateserial(mid(y,1,4),mid(m,5,2),mid(d,8,2))+timeserial(mid(h,9,2),mid(n,11,2),mid(s,13,2))-dateserial(mid(ey,1,4),mid(em,5,2),mid(ed,7,2))-timeserial(mid(eh,9,2),mid(en,11,2),mid(es,13,2))
但这么减下来的值我看不懂!怎么转换为我看的懂的呢
例如:
20081101000510-20081031235808=361s,应该是相差361秒但显示是9
20081011000204-20081010235503=421s,应该是相差421秒但显示是-1

[ 本帖最后由 zhasms 于 2009-1-12 18:28 编辑 ]
作者: Henry D. Sy    时间: 2009-1-12 20:24
参阅datediff函数




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3