您的位置:首页 > 其它

时间类型的格式 ToString(HHmmss) VS ToString(hhmmss) 的区别

2008-01-18 16:54 288 查看
前段时间在为供水公司做远程代理收费(RemoteCharge)项目时(ChargeLog)表的字段ChargeTime要求以(1900-01-01
??:??:??)的形式插入表中例如(1900-01-01 18:23:22) 即前边的'1900-01-01'不变后面的值是当前时间而且必须是以24小时计时

(下午三点十五分二十秒 )分别以两种方式计时表示形式如下

(1)12小时计时 :1900-01-01 03:15:20

(2)24小时计时:1900-01-01 15:15:20

通过以上示例可以清楚的看出两种时间计时方式差异 。如果是上午的时间两者是相同的,下午的时间就产生差异了,这种差异的产生直接影响到收费冲正的先后顺序问题。
由于同一天上午和下午记录如果以12小时计时方式就会使得时间先后顺序无法分辨。for example 下午3点(1900-01-01
03:15:20)显然比上午10点(1900-01-01
10:15:20)更晚些,但是第一种方式提交的数据就会让系统认为是上午的10点交费记录更晚些,所以当天的同一用户的交费时间就混乱了造成无法正确冲正,或者不允许冲正。使用24小时计时就不会产生如上所遇的麻烦!实例代码如下:

Entities.ChargeLog chargeLog = new Entities.ChargeLog(); //实例化一个收费记录对象

DateTime currentDate = DateTime.Now; //定义当前日期时间变量

---------------------注意下面两条语句的微小差异---------------------------

//错误的写法(12小时计时方式)

chargeLog.ChargeTime = Convert.ToDateTime(("1900-01-01 " +
currentDate.ToString("hh:mm:ss")));
//将当前时间赋予ChargeLog对象的属性

//正确的写法(24小时计时方式)

chargeLog.ChargeTime = Convert.ToDateTime(("1900-01-01 " +
currentDate.ToString("HH:mm:ss")));
//将当前时间赋予ChargeLog对象的属性

总结:

上边两行语句的差别就是红色字体的位置,只是大小写的不同计时方式就不同,就是这么简单,我以前就是没有注意过!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐