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

    

     前段时间在为供水公司做远程代理收费(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对象的属性

总结:

 上边两行语句的差别就是红色字体的位置,只是大小写的不同计时方式就不同,就是这么简单,我以前就是没有注意过!

posted @ 2008-01-18 16:54  夜鹰.沈  阅读(2185)  评论(0编辑  收藏  举报