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

本文讨论了在数据库中使用24小时计时而非12小时计时的重要性,尤其是在需要精确记录时间顺序的应用场景中,如远程代理收费系统。通过对比两种计时方式,解释了为何24小时制能有效避免时间混淆,确保数据准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

总结:

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

请多指教

注意HH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值