Foxtable(狐表)用户栏目专家坐堂 → [分享]再谈系统日期格式冲突


  共有4040人关注过本帖树形打印复制链接

主题:[分享]再谈系统日期格式冲突

帅哥哟,离线,有人找我吗?
逛逛
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2016/11/29 8:08:00 [显示全部帖子]

要是每个软件都来改一下,不是乱套了嘛?

 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2016/11/29 9:32:00 [显示全部帖子]

这个和狐表应该没啥关系。


我只想建议,尽量别用直接修改系统时间的方法(别的程序也许对时间格式也会有要求)

而是通过DateTimeFormatInfo的CurrentInfo属性来控制

比如网上抄来的代码:AfterOpenProject

Dim cd As System.Globalization.DateTimeFormatInfo = System.Globalization.DateTimeFormatInfo.CurrentInfo

Dim DateInfo As System.Reflection.FieldInfo = cd.Gettype.GetField("generalLongTimePattern", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance)

If  DateInfo IsNot Nothing Then
    DateInfo.SetValue(cd, "yyyy-MM-dd HH:mm:ss")
End If

或者一个个设

cd.ShortDatePattern = "yyyy年MM月dd日"


 回到顶部
帅哥哟,离线,有人找我吗?
逛逛
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:1693 积分:12135 威望:0 精华:7 注册:2013/7/11 10:52:00
  发帖心情 Post By:2016/11/29 13:03:00 [显示全部帖子]

定义一个变量,在出错的事件最上面,检查一下是否已经定义了时间格式,没有得话,定义一下就行了。

比如:BeforeLoadInnerTable 事件
定义一个变量Vars("ddd") = false
If Vars("ddd") = False Then
    Dim cd As System.Globalization.DateTimeFormatInfo = System.Globalization.DateTimeFormatInfo.CurrentInfo
    Dim DateInfo As System.Reflection.FieldInfo = cd.Gettype.GetField("generalLongTimePattern", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance)  
    If  DateInfo IsNot Nothing Then
        DateInfo.SetValue(cd, "yyyy-MM-dd HH:mm:ss")
    End If
    Vars("ddd") = True
End If

下面写你的代码


 回到顶部