当前位置: 首页 > 知识库问答 >
问题:

在ISO8601格式的时间戳中是否有一种标准的方法来指示无效值?

公羊喜
2023-03-14

我想知道是否有一种标准的方式来表示无效的时间戳在这种格式?

Wikipedia提到1583年之前的年份在正常操作下无法处理,所以我首先想到的是简单地将值设置为0000-01-01T00:00:00Z。但是,如果有更标准的方法来指示无效值,我宁愿使用它。

共有1个答案

淳于烈
2023-03-14

ISO 8601未定义表示无效时间戳的字符串。它只定义了一个有效的格式化字符串的外观。

同样,ISO 8601使用了一个普罗普特的公历,这意味着所有正年份都是有效的。它允许负年份(通过协议),但没有定义诸如BC/BCE等电子逆向拍卖。换句话说,0001-01-01之前的一天将会是预测公历中的0000-12-310000-01-01的前一天是-0001-12-31(0年是闰年)。

至于如何在代码中表示“无效”,这完全取决于语言和实现。在许多情况下,null是合适的。如果您严格使用字符串,那么“”可能会更好。没有更多的上下文很难说。

 类似资料:
  • 我有这样一个时间戳:

  • 我知道这是一个非常常见的问题,但我觉得我找到的答案并没有真正解决问题。我将概述我的具体用例,并对来自其他SO答案和网络的信息进行总结。 对于我正在编写的服务,数据库条目被创建并存储在移动设备和我们的网站上,需要以两种方式同步。我们目前的目标是Android和iOS,它们都使用sqlite作为关系数据库。服务器端是使用Django和MySQL在Python中实现的,但将来可能会有其他解决方案取代它。

  • 假设我有两个线程像这样运行: 在更新共享图像的像素时执行计算的线程 线程B定期读取图像并将其复制到屏幕上 线程A执行工作速度很快,比如每秒100万更新,所以我怀疑经常锁定/互斥锁/监视器是个坏主意。但是如果没有锁,也没有办法从线程A到线程B建立一个发生前关系,那么通过Java内存模型(JMM规范)线程B根本不能保证看到线程A对映像的任何更新... 所以我认为,最起码的解决方案是线程A和线程B都在同

  • 我尝试了几乎所有的解决方案,但仍然是同一个问题。我在S3中有一个CSV文件,在红移中有一个表。 表结构如下: CSV文件包含以下数据: 当我在RedShift中运行COPY commnad时,它给出了一个错误,时间戳格式或值[YYYY-MM-DD HH:MI:SS],我几乎尝试了RedShift中的所有时间日期格式,但仍然卡住了。复制命令如下: 注意:我以CSV格式从MySQL导出了我的表,并且添

  • 问题内容: 我正在尝试将长度不定的多个数据列表输出到CSV文件。每个列表应该是输出CSV文件中的一列。有直接的做事方法吗?如果我将每个列表输出为一行,那么我将遍历每个列表并在结束时输出返回值,但是这种方法在按列工作时不起作用。 我曾想过一次逐项检查所有列表并增加一个计数器,但这也会失败,因为有些列表比另一些​​更长。为了解决这个问题,我将不得不在每次迭代时检查计数器是否在每个列表的末尾,这在计算方

  • 本文向大家介绍js时间戳转为日期格式的方法,包括了js时间戳转为日期格式的方法的使用技巧和注意事项,需要的朋友参考一下 什么是Unix时间戳(Unix timestamp): Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数