以文本方式查看主题

-  搭建论坛  (http://bbs.diylsoft.com:8118/starforum/index.asp)
--  用户咨询  (http://bbs.diylsoft.com:8118/starforum/list.asp?boardid=4)
----  [原创]时间计算构件格式问题  (http://bbs.diylsoft.com:8118/starforum/dispbbs.asp?boardid=4&id=31181)

--  作者:qys1000
--  发布时间:2011-4-24 14:29:50
--  [原创]时间计算构件格式问题

李老师您好:

时间类构件的兼容性问题什么时候解决一下呀,现在win 7用户已经很多了,win 7的默认日期间隔符为‘/’。


--  作者:heying
--  发布时间:2011-4-24 23:46:03
--  

《星》已经可以对“操作系统”的时间格式进行设置。

在“系统操作”构件中,可对进行“区域选项”进行设置。


--  作者:qys1000
--  发布时间:2011-4-25 11:23:38
--  

“系统操作”构件“区域选项”属性只是获取了系统日期时间的格式,还是没有解决“时间计算”构件在不同操作系统下的格式兼容问题。

 

谢谢heying的回复!


--  作者:pc_doctor
--  发布时间:2011-4-25 11:58:22
--  

可以使用这个,我一直这样解决的。

[工具]系统日期格式化工具 [彻底解决WIN7日期格式]

http://web.diylsoft.com:8118/starforum/dispbbs.asp?boardid=5&Id=18502

[搭建联盟]有下载。

 


--  作者:qys1000
--  发布时间:2011-4-25 13:41:04
--  
非常感谢!我下载看看
--  作者:qys1000
--  发布时间:2011-4-25 14:33:47
--  

pc_doctor你好,下载测试了一下,思路非常好,但这个修改注册表的事件什么时候发生呢?因为只要有时间类构件且系统日期分隔符不是“-”,在创建窗口时就会报错。

 

我以前发布的一款软件有win 7用户反映这个问题,没有有效的解决方法,非常期待这方面的思路.


--  作者:pc_doctor
--  发布时间:2011-4-25 15:09:11
--  
以下是引用qys1000在2011-4-25 14:33:47的发言:

pc_doctor你好,下载测试了一下,思路非常好,但这个修改注册表的事件什么时候发生呢?

 

原贴已经说得很清楚了,一个程序中只需要执行一次,一台机器中也只需要执行一次即可。

http://web.diylsoft.com:8118/starforum/dispbbs.asp?boardid=5&Id=18502


--  作者:zhongjian
--  发布时间:2011-4-25 21:31:41
--  
以下是引用pc_doctor在2011-4-25 15:09:11的发言:

 

原贴已经说得很清楚了,一个程序中只需要执行一次,一台机器中也只需要执行一次即可。

http://web.diylsoft.com:8118/starforum/dispbbs.asp?boardid=5&Id=18502

修改时间格式是可以满足《搭建》的格式兼容需要,但不知其他编程工具编程工具的时间格式是否已兼容 win 7 ?解决问题的关键看来是尽快使《搭建》兼容 win 7 时间格式,就目前的情况我的办法是变通一下,程序运行在创建窗口事件中判断操作系统是 win xp 还是 win 7 ,如果是 win 7 修改时间格式,运行程序,在程序退出事件中把时间格式改回来,以便其他程序的兼容;如果是 win xp 就不需要修改时间格式了。


--  作者:pc_doctor
--  发布时间:2011-4-26 17:02:19
--  

事实上千年虫之后的标准时间格式一直都是“yyyy-MM-dd”。

 

之前的“yy-M-d”、“yy-MM-dd”、“yyyy-M-d”都在规程规范中被废除,不过是在日常的手写中一直存在着,至于“yyyy/MM/dd”这种格式本来就是中国特色的非法的,这是由于长期的中国报表特色遗留下来的产物,WIN7不过是为了适应巨大的中国市场中的一大批老古董们而修改了日期格式,目前除WIN7有此“yyyy/MM/dd”格式外,其他任何均为标准的“yyyy-MM-dd”。

 

不信,如果你在中文版的OFFICE200x中输入“yyyy/MM/dd”,它会自动转换成了“yyyy-MM-dd”标准日期格式;而在西文的OFFICE200x输入“yyyy/MM/dd”,它会当着字符串处理。

 

因此,将某机器的时间格式转换成标准的格式“yyyy-MM-dd”后,是用不着担心顾了这边失了那边的兼容担忧,WIN7之外的系统本来就是标准格式,你再把它修改成标准格式也无妨,反而省去复杂的作什么系统版本判别之麻烦。

 

即使有其他的编程工具生成的应用程序也存在与WIN7时间格式兼容的问题,它也不过只有两种解决之法:1、不修改系统,自己适应;2、修改系统,统一到标准格式上。

 

惟有将系统的时间格式规范为标准的,才能避免楼主所说的,“取系统时间”正确,但“时间计算”却可能出错等等问题。

 

--  作者:ming1973
--  发布时间:2011-4-27 4:42:59
--  

楼上讲的很详细,学习了。