chamlien 发表于 2013-8-12 00:03:42

【已解决】关于日期格式转换

本帖最后由 chamlien 于 2013-8-18 14:30 编辑

好久没来了,一来就发问题,都不好意思了....

如$time="2013/8/4 12:23:34"
或者$time="2013-8-4 12:23:34"
或者$time="2013年8月4 12:23:34"

如何用正则表达式改成$time="20130804"呢?
也就是去掉中间的分隔符,并且连后面的时间都不要,只留日期,而且日期和月份不到两位自动补上0?

lpxx 发表于 2013-8-12 00:16:33

好像有个函数_DateTimeFormat

chamlien 发表于 2013-8-12 00:56:09

回复 2# lpxx

查找了,但并不能去到分隔符,没有提供20130804的格式。

afan 发表于 2013-8-12 12:41:50

Local $Str = '2013/8/14 12:23:34'
Local $aSR = StringRegExp($str, '\d+', 3)
If Not @Error And UBound($aSR) >= 3 Then MsgBox(0, 0, StringFormat('%d%02d%02d', $aSR, $aSR, $aSR))

chamlien 发表于 2013-8-12 20:13:34

回复 4# afan

谢谢,正则用得很棒!

其实我是想比较两个时间,如果A - B > 7,软件就停止使用,所以经过正则后,两个日期就直接可以相减了,不过貌似有点麻烦,正研究中....

netegg 发表于 2013-8-13 08:28:20

#Include <Date.au3>
_DateDiff

chamlien 发表于 2013-8-17 23:52:29

回复 6# netegg
听说过date.au3,但是没有帮助文档,一时不会用里面的函数...

chamlien 发表于 2013-8-18 14:30:29

回复 6# netegg

哈哈,原来有帮助文档,琢磨出来了!非常感谢

winple 发表于 2014-2-16 15:18:43

$temp = StringRegExp($iDate,'\d+',3)
$dateNoBar = StringFormat('%d%02d%02d',$temp,$temp,$temp)
测试 成功
页: [1]
查看完整版本: 【已解决】关于日期格式转换