找回密码
 加入
搜索
查看: 5660|回复: 6

[AU3基础] 字符串如何格式化成标准的时间格式 【已解决】

  [复制链接]
发表于 2010-12-2 14:15:24 | 显示全部楼层 |阅读模式
本帖最后由 haodd 于 2010-12-3 13:50 编辑

mssql的表中存放着标准时间的数据,字段类型为datetime
数据是通过SQL语句getdate()写进去的。

当用au3从mssql读取datetime类型的数据时
输出的是类似这样的字符串
2010122120635
如何格式化成标准的时间格式

如下
2010-12-2 12:06:35
发表于 2010-12-2 15:01:15 | 显示全部楼层
这个时间字符串都不规则
照楼主给的示例是2010-12-2 12:06:35,意思就是时间段是两位数,不够两位会补零,所以时间是后六位,年份是前4位,余下的中间三位就是 月 和 日
2010  122  120635

122 到底是1月22日呢还是12月2日,不好判断,等高手来处理吧

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-12-3 13:50:35 | 显示全部楼层
已解决了 呵呵  我当时也看错了 从sql读取出来的datetime类型是 能自动补位的我写漏了 呵呵

应该是
20101202120635

呵呵
发表于 2010-12-3 16:52:56 | 显示全部楼层
回复 3# haodd
纯体力活。
$str=20101202120635
    If StringLen($str)=14 Then
    $Data=StringMid($str,1,4)&"-"&StringMid($str,5,2)&"-"&StringMid($str,7,2)
    $Time=StringMid($str,8,2)&":"&StringMid($str,10,2)&":"&StringMid($str,12,2)
    $D_T=$Data&" "&$Time
    MsgBox(0,0,$D_T)
Else
    MsgBox(0,0,'字符串不合法')
EndIf

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-12-3 19:52:56 | 显示全部楼层
呵呵, 楼上的办法真好。
发表于 2011-5-24 12:38:22 | 显示全部楼层
通过论坛漫游至此,解决了我的一个问题,感谢3mile。
发表于 2014-7-9 11:41:39 | 显示全部楼层
回复 4# 3mile


    稍微有点小错误,应该是这样:
$str = 20140323000009
$str = 20101202120635

If StringLen($str) = 14 Then
        $Data = StringMid($str, 1, 4) & "-" & StringMid($str, 5, 2) & "-" & StringMid($str, 7, 2)
        $Time = StringMid($str, 9, 2) & ":" & StringMid($str, 11, 2) & ":" & StringMid($str, 13, 2)
        $D_T = $Data & " " & $Time
        MsgBox(0, 0, $D_T)
Else
        MsgBox(0, 0, '字符串不合法')
EndIf
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-19 22:51 , Processed in 0.090396 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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