码迷,mamicode.com
首页 > Windows程序 > 详细

记一次因中、日文WIN7系统日期比较疏漏导致程序错误

时间:2015-04-28 18:21:27      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

首次写,尚未熟悉使用方法,记一个遇到的小问题借此学习博客编辑方法- -

 

有部分对日的开发,使用到了FarPoint.Win.Spread 相关付费控件,然后日文虚拟机快照(为什么这么做- -大家都懂的吧)。

由于整个项目(VB.NET C/S)最初的定义是在日本,所以都是在日文环境下开发。但是某一天要在国内销售使用,即开始了调试等工作。

但是从日文下编译成的程序中文下会出现,程序中大部分页面中的Spread报表不能加载数据!

故而由我开始填前人的坑。

刚开始某种原因不能在中文WIN7下直接编译(后来已解决),只能在日文WIN7下分析。

排除了Spread控件自身问题,排除了文件编码(日文系统下大部分为ANSI)问题,代码逻辑问题等等等。最终发现

系统中有那么一方法

1     Private Function columnToDate(ByVal stDate As String) As Integer
2         For c As Integer = columnEnum.WEEK To sh.ColumnCount - 1
3             If columnDate(c) = stDate Then
4                 Return c
5             End If
6         Next
7         Return -1
8     End Function

 

columnDate(c)返回一个字符串的日期。

stData也是一个字符串的日期。所以为了方便就直接用DateTime.Now.ToString()的默认格式(并不是说这个时间,重点是格式,下同),这在日文下没有问题。

但是中文下的DateTime.Now.ToString()的输出为 "2015-4-28 16:36:55" 而日文win7下是 "2015-04-28 16:36:55"。

问题就来了中文win7下没有补0!!!!这个问题导致了程序中大部分页面中的Spread报表不能加载数据!

故此建议:如果一定要用字符串比较日期的请一定要指定格式(例yyyyMMddHHmmss)。

欢迎提出各种宝贵意见。

记一次因中、日文WIN7系统日期比较疏漏导致程序错误

标签:

原文地址:http://www.cnblogs.com/fpj5/p/4463515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!