如何去掉时间中的毫秒微秒

iamsilly 2017-10-19 10:44:48
数据库中该字段是TIME,例如取到某个值是这样的(21:19:08:000000),在VB中得到这个数后,希望转换为21:19:08,请问该如何处理。
...全文
2652 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2017-10-20
  • 打赏
  • 举报
回复
1.
Dim strLine As String, strItem() As String

strLine = "21:19:08:0000000"
strItem = Split(strLine, ":")
ReDim Preserve strItem(2)
strLine = Join(strItem, ":")
2.
Dim strLine As String, p As Integer

strLine = "21:19:08:0000000 "
p = InStrRev(strLine, ":")
strLine = Left(strLine, p - 1)
of123 2017-10-20
  • 打赏
  • 举报
回复
引用 6 楼 zhao4zhong1 的回复:
[quote=引用 5 楼 Chen8013 的回复:] [quote=引用 4 楼 zhao4zhong1 的回复:]
Left("21:19:08:000000",8)
如果在12:00:00之前的,应该只有7个字符吧! [/quote] 嗯,是有这个潜在问题。[/quote] Left("21:19:08:000000", InStrRev("21:19:08:000000", ":") - 1)
小噤 2017-10-19
  • 打赏
  • 举报
回复
取出来的时候就转换成需要的格式.sql语句里面
赵4老师 2017-10-19
  • 打赏
  • 举报
回复
引用 5 楼 Chen8013 的回复:
[quote=引用 4 楼 zhao4zhong1 的回复:]
Left("21:19:08:000000",8)
如果在12:00:00之前的,应该只有7个字符吧! [/quote] 嗯,是有这个潜在问题。
舉杯邀明月 2017-10-19
  • 打赏
  • 举报
回复
引用 4 楼 zhao4zhong1 的回复:
Left("21:19:08:000000",8)
如果在12:00:00之前的,应该只有7个字符吧!
赵4老师 2017-10-19
  • 打赏
  • 举报
回复
Left("21:19:08:000000",8)
舉杯邀明月 2017-10-19
  • 打赏
  • 举报
回复
用字符串处理函数来处理吧:
Debug.Print Left$("21:19:08:000000", InStrRev("21:19:08:000000", ":") - 1)
注意你的那个字符串中的冒号,是“中文的冒号”(也不知道是不是因为你的输入法造成的)。 如果你确定你返回的值都是中文冒号,InstrRev()函数的第2个参数就要用中文冒号。反之,就必须用英文冒号。 如果不确定是中文冒号还是西文冒号(比如:可能是“两种都有”、混合的),就要用这样的代码:
Debug.Print Left$("21:19:08:000000", InStrRev("21:19:08:000000", ":", , vbTextCompare) - 1)
iamsilly 2017-10-19
  • 打赏
  • 举报
回复
不行,去不掉,还是会返回那7个0,format(colTime, "HH:mm:ss") =21:19:08:0000000
X-i-n 2017-10-19
  • 打赏
  • 举报
回复
format(colTime, "HH:mm:ss")

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧