这个周末会格外漫长,因为在6月30日的23:59:59
之后会插入一个额外的秒。
我们有一个系统在全天记录大量数据,其中一个业务规则是任何两条记录的记录时间不能相同,误差不能超过1秒。
我们正在使用UTC日期时间以及新的datetimeoffset
数据类型,但据我所知,它们不允许一个分钟中有超过60秒。
当然,这会引发错误:
select datediff(ss, getdate(), '30-jun-2012 23:59:60')
但根据UTC时间标准,这将是真实的时间。事件可能会在23:59:60
发生,但我们无法记录这个事实。
23:59:59
加一秒的偏移仍将被视为7月1日的00:00:00
。
我应该如何在数据库中正确记录发生在23:59:60
的事件?