设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1313|回复: 6
打印 上一主题 下一主题

[查询] 如何把20081201220000转换为时间进行换算

[复制链接]
跳转到指定楼层
1#
发表于 2009-1-11 15:23:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如附件所示08表里有生产开始时间,生产结束时间,要用结束时间-开始时间=生产周期,出炉时间-入炉时间=在炉时间
现在时间的类型都是文本格式,格式都为20081201220000,表示2008年12月01日22点00分00秒,现在要计算生产周期精确到秒!
请各位老大帮兄弟一下怎么办!
(兄弟用UPDATE 08 SET 生产周期=curDate(结束时间,1,8)-curDate(开始时间,1,8)   这个语句的时候报说不认识CURDATE这个命令)
另外再问一下!这个表中的时间20081201220000是从EXCEL中倒过来的,但有时后导过来时会变成2.00812E+12这种格式,请问在ACCESS里还能转回来吗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-1-11 16:27:55 | 只看该作者
要转换回日期格式用mid(日期,1,4)年mid(日期,5-6)月mid(日期,7-8)类推...
3#
 楼主| 发表于 2009-1-12 10:41:31 | 只看该作者
MID只是取值!取值后还要按照时间24小时和60秒进行进位换算!MID转换是是按照十进制进行换算啊!还有没有更好的办法
4#
发表于 2009-1-12 10:47:06 | 只看该作者
不用换算,
用mid结合&
5#
发表于 2009-1-12 10:56:14 | 只看该作者
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
6#
 楼主| 发表于 2009-1-12 18:00:21 | 只看该作者
转换为时间后,怎么计算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 编辑 ]
7#
发表于 2009-1-12 20:24:50 | 只看该作者
参阅datediff函数
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 18:36 , Processed in 0.119954 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表