ACCESS中如何将两日期相减后的数字转换为时间格式(hh:mm:ss)
发布网友
发布时间:2022-04-30 10:11
我来回答
共2个回答
热心网友
时间:2022-06-20 23:22
这个需求可以分别使用datediff函数求出两个时间的小时差、分差和秒差,然后将它们拼接起来,但是因为需要实现HH:MM:SS格式,表达式会变得非常冗长,例如:
Me.Text6 = IIf(DateDiff("h", #11/12/2013 12:30:05 PM#, #11/12/2013 3:30:45 PM#) < 10, 0 & DateDiff("h", #11/12/2013 12:30:05 PM#, #11/12/2013 3:30:45 PM#), DateDiff("h", #11/12/2013 12:30:05 PM#, #11/12/2013 3:30:45 PM#)) & ";" & Right(((DateDiff("n", #11/12/2013 12:30:05 PM#, #11/12/2013 3:30:45 PM#) Mod 60) + 100), 2) & ":" & Right(((DateDiff("s", #11/12/2013 12:30:05 PM#, #11/12/2013 3:30:45 PM#) Mod 3600) + 100), 2)
可见其可读性非常差,需要反复多次输入两个时间,可以说基本不具使用价值。
为了提高易用性建议采用编写自定义函数方式解决。
于数据库视图选择“模块”对象 点击“新建”命令打开模块VBE编辑器,将下列代码复制黏贴上去
Option Compare Database
Public Function getTimeDiffHhMmSs(time1 As Date, time2 As Date) As String
Dim Ss As Long, H As Long, M As Byte, S As Byte
Ss = Abs(DateDiff("s", time1, time2))
H = Ss \ 3600
M = (Ss Mod 3600) \ 60
S = Ss Mod 60
getTimeDiffHhMmSs = IIf(H < 10, Right(H + 100, 2), H) & ":" & IIf(M < 10, Right(M + 100, 2), M) & ":" & IIf(S < 10, Right(S + 100, 2), S)
End Function
然后保存
跟着就可以在数据库的任何地方使用这个自定义函数了,非常方便。
例如:
getTimeDiffHhMmSs(#2013-11-11 13:40:10#, #2013-11-11 15:45:18#) 返回 02:05:08
getTimeDiffHhMmSs(Now(),#2013-11-11 17:45:18#) 返回 55:53:09
getTimeDiffHhMmSs(Date(),Now()) 返回 09:59:46 (今天凌晨零时到现在为止已经过去的时间)
热心网友
时间:2022-06-20 23:22
2013-11-13 17:50:00 和 2013-11-13 18:50:00 之间
天数差0
小时差 1
分钟差 60
秒差 3600
你要转换成什么样的HH:MM:SS?
ACCESS中如何将两日期相减后的数字转换为时间格式(hh:mm:ss)
于数据库视图选择“模块”对象 点击“新建”命令打开模块VBE编辑器,将下列代码复制黏贴上去 Option Compare Database Public Function getTimeDiffHhMmSs(time1 As Date, time2 As Date) As String Dim Ss As Long, H As Long, M As Byte, S As Byte Ss = Abs(DateDiff("s", time1, time2...
...变为了数字,请问如何保持时间格式?如 HH:MM:SS
在数据库中日期时间格式的字段是以数字的形式存贮的,整数部分是日期,小数部分是时间。可以通过设置单元格的格式为日期或时间,或者用TEXT()数据格式化为日期或时间格式,如:=TEXT(A1,"HH:MM:SS")。
access 怎么定义时间格式
或者,输入自定义日期格式。Access 应用程序显示在"视图",具有相似桌面数据库中的窗体的文本框中的数据。但是,而不是属性表、,通过选择文本框,然后单击格式按钮显示设置格式设置选项。然后,从格式列表中选择所需的格式。
c# 中用sql 从access中取出数据,怎么取出时同时进行数值格式转换
access中没有convert方法。你可以用Format方法 Format(时间列,"hh-mm-ss")
ACCESS插入日期格式yyyy-mm-dd hh:mm:ss报错C#
首先,从ACCESS数据库说起,存放日期格式的字段的数据类型可以是 文本 时间/日期 备注...当选择数据类型为 时间/日期 时, 格式的选择很重要,如果不选,那么什么格式的日期都可以存放,但如果选了某一种,那么只能存放这一种日期格式;其次,在从程序说 DateTime.Now.ToString()取得是当前时间 就是你...
在access中如何在一个查询语句中将时间查询精确到分钟?
使用access里的vb command 设定 now 指令告诉你现在电脑的时间。假如要将时间查询精确到分钟可以用 format(now,"General Date")output: dd/mm/yyy hh:mm:ss
access 日期时间转换
在导入的这个表中加入一个 日期时间型 新字段 比如你原来的字段叫D1 文本类型 ,新增加的字段叫D2 你建立一个查询,切换到SQL视图。输入以下语句(注意,表1要修改成你真实的表名)UPDATE 表1 SET 表1.D2 = CDate([D1])
excel中日期相减,只要HH:MM:SS的格式。
=text(a1-b1,"[HH]:MM:SS")或者 =TEXT(A1-B1,"[H]:M:S")
access中怎么把日期的格式设置成(12月12日1992年)的格式,在哪里输入
不能设置成这样的 除非你把日期的字段不设置成日期 设置成普通的文本 这样就可以了
请问access怎么格式化日期
ss 当小于10时带0的分钟数(00-59)Format$("7:3:8","ss") 返回值 08 ttttt 标准时间,小时数当小于10时不带0,与h:mm:ss相同 Format$("7:3:28","ttttt") 返回值 7:03:28 AM/PM 显示当前为AM或为PM Format$(Now,"AM/PM") 返回值 PM A/P 显示当前为A或为P Format$(Now,"A...