如何修改系统短日期格式

少年残像vs珘
2013-10-12 · TA获得超过2313个赞
知道小有建树答主
回答量:1041
采纳率:0%
帮助的人:1909万
展开全部
榈牟檎液团判蚧岢龃恚��叶己褪奔溆泄亍>�邢讣觳榈贸鼋崧廴缦拢涸谟τ贸绦蛑惺褂� format("日期型数据","short date")把长日期格式成短日期,如果本地电脑系统的“短日期”格式不一样,会得到两种不同的结果。比如 同样是format("2008-5-1 23:01:20","short date")在短日期格式为"yyyy-m-d"的电脑上,得出的结果是"2008-5-1",而在短日期格式为"yyyy-mm-dd"的电脑上得到的结果是"2008-05-01"。说了半天,有什么不同?不都是表示同一天吗?答案是:两种结果不同。因为被format格式以后的日期已经不再是日期了,ACCESS把它当作文本来处理。比如我们对三个文本进行升序排列:第一种是:2008-4-30 ,2008-4-8,2008-5-1第二种是:2008-04-08,2008-04-30,2008-05-01可以看出两种不同的格式排序得到的结果是不一样的。使用between ....and...进行查找效果亦是如此。所以我们大都喜欢自己的程序运行在短日期格式为"YYYY-MM-DD"的电脑上,这样我们格式成短日期以后的数据仍然可以正确的查找和排序。但往往事情并不是都按照理想的方向进行,有些用户的短日期格式就不是"YYYY-MM-DD",所以我们要对它修改。修改的代码如下: Public Declare Function GetUserDefaultLCID Lib "kernel32" () As Long Public Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long Public Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long 设置短日期格式 Public Const LOCALE_SSHORTDATE = &H1F Public Const LOCALE_SDATE = &H1D '下面的过程可以帮你达到目的sub setshortdate() Dim llocal As Long Dim sa As String Dim lOk As Long On Error GoTo ErrShow sa = Space(20) llocal = GetUserDefaultLCID() lOk = GetLocaleInfo(llocal, LOCALE_SSHORTDATE, ByVal sa, 20) If Trim(sa) <> "yyyy-MM-dd" Then If MsgBox("您的系统日期不是(YYYY-MM-DD)格式,强烈建议您将它修改成该格式," & Chr(10) _ & "否则软件可能会出现运行障碍!" _ & Chr(10) & Chr(10) & "点击'是'将自动为您修改。", vbQuestion + vbYesNo, "忠告") = vbYes Then sa = "yyyy-MM-dd"
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式