- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Java 和 Oracle 都有一个名为 Date 的时间戳类型。开发人员倾向于将它们当作日历日期来操作,我曾看到这会导致严重的一次性错误。
对于基本日期数量,您可以简单地在输入时砍掉时间部分,即降低精度。但是,如果您使用日期范围(例如:9/29-9/30)执行此操作,则这两个值之间的差异是 1 天,而不是 2 天。此外,范围比较需要 1 ) 截断操作:start < trunc(now) <= end
, 或 2) 算术:start < now < (end + 24hrs)
.不可怕,但不是DRY .
另一种方法是使用真实时间戳:9/29 00:00:00 - 10/1 00:00:00。 (从午夜到午夜,因此不包括 10 月的任何部分)。现在持续时间本质上是正确的,范围比较更简单:start <= now < end
.对于内部处理来说当然更清晰,但是结束日期确实需要根据初始输入 (+1) 进行转换,对于输出 (-1),假定用户级别的日历日期隐喻。
您如何处理项目的日期范围?还有其他选择吗?我对您如何在等式的 Java 和 Oracle 端处理此问题特别感兴趣。
最佳答案
这是我们的做法。
使用时间戳。
使用半开区间进行比较:start <= now < end
.
忽略那些坚持认为 BETWEEN 在某种程度上对成功的 SQL 至关重要的提示者。
有了这个一系列的日期范围就很容易审计了。 9/30 to 10/1
的数据库值包含一天 (9/30)。下一个间隔的开始必须等于前一个间隔的结束。那interval[n-1].end == interval[n].start
规则便于审核。
显示的时候,如果需要,可以显示格式化的start
和 end
-1。事实证明,您可以教育人们了解“结束”实际上是规则不再适用的第一天。所以“9/30 到 10/1”的意思是“从 9 月 30 日开始有效,从 10 月 1 日开始不再有效”。
关于java - 你如何存储日期范围,它们实际上是时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156032/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!