love94me 发表于 2011-12-7 07:39:11

关于 DateTimeFormat 格式问题

MsgBox(4096, "Pc Short format", _DateTimeFormat(_NowCalc(), 2))这个为什么会提示说: 2011-12-7而不是 2011-12-07 ?
注意看红色部分,一个是 7一个是07   ,怎么才可以把那个“ 0 ”给加上呢?

skyfree 发表于 2011-12-7 08:51:58

本帖最后由 skyfree 于 2011-12-7 08:53 编辑

按照_DataTimeFormat的说明,以你的参数写,得到的结果是“按计算机设置中指定的短日期格式显示”,所以说你计算机设置的是什么样的模式按照说明显示,返回的就是怎样的值。



例如在我的计算机中显示的日期模式是2011/12/7,那我得到的结果也是“2011/12/7”

关键是看你想实现什么了,如果只是想获得像“2011/12/07”这样的日期模式是很好办的,不一定非得用_DataTimeFormat函数

skyfree 发表于 2011-12-7 08:53:12

#Include <Date.au3>

MsgBox(0,"",StringLeft(_NowCalc(),10))

hzxymkb 发表于 2011-12-7 09:21:11

skyfree一出,神马问题都解决了!

502762378 发表于 2011-12-7 09:37:02

受教了。。

3mile 发表于 2011-12-7 09:43:37

Local $tData = DllStructCreate('wchar')
Local $Ret = DllCall('kernel32.dll', 'int', 'GetDateFormatW', 'long', 0x400, 'dword', 0, 'ptr', 0, 'wstr', 'yyyy-MM-dd', 'ptr', DllStructGetPtr($tData), 'int', 1024)
MsgBox(0,0,DllStructGetData($tData, 1))
页: [1]
查看完整版本: 关于 DateTimeFormat 格式问题