Java 有没有通用的日期格式?

Java 有没有通用的日期格式?,java,javascript,date,datetime,datetime-format,Java,Javascript,Date,Datetime,Datetime Format,我在一个脚本中使用格式“yyyy-MM-dd_hhmmss”,并在我的脚本中使用该格式。 如果我修改了系统中的区域(时区)和日期,它就会变成这种格式 是否有任何通用的日期格式,无论系统时钟如何设置时间/时区,都始终有效?您的问题不清楚 没有神奇的解析模式 如果您想要一个神奇的解析模式,可以处理任何可能传入的日期时间值的文本表示,答案是“否”。“1/2/12”的简单示例证明了这一点,因为可能是1月2日、2月1日或其他时间。你可以做出猜测和假设,但永远不能确定。在许多重复的问题中讨论了很多 当然,您

我在一个脚本中使用格式“yyyy-MM-dd_hhmmss”,并在我的脚本中使用该格式。 如果我修改了系统中的区域(时区)和日期,它就会变成这种格式


是否有任何通用的日期格式,无论系统时钟如何设置时间/时区,都始终有效?

您的问题不清楚

没有神奇的解析模式 如果您想要一个神奇的解析模式,可以处理任何可能传入的日期时间值的文本表示,答案是“否”。“1/2/12”的简单示例证明了这一点,因为可能是1月2日、2月1日或其他时间。你可以做出猜测和假设,但永远不能确定。在许多重复的问题中讨论了很多

当然,您必须知道传入的数据

ISO 8601 如果您需要一个建议的模式来格式化您自己的日期时间值的文本表示形式,那么标准ISO 8601格式就是最好的选择。读这本书

YYYY-MM-DDTHH:MM:SS.SSSZ

在重复的问题中讨论了多次

time框架通过添加适当的时间名称扩展了该字符串格式。聪明和有用,但还不是标准

UTC 处理日期时间的最佳实践是在后端使用时区

仅在用户界面中调整为时区,或在需要时导出

在许多重复的问题中讨论

避免
java.util.Date
避免使用java绑定的java.util.Date和.Calendar类。它们是出了名的麻烦,在设计和实现上有缺陷

取而代之的是使用Java 8中的库或新库(受Joda Time的启发)。在解析/生成日期时间值的字符串表示形式时,这两种方法都使用ISO 8601作为默认值

Joda Time 2.7中的示例

DateTime dateTime = new DateTime( "2015-01-02T12:34:56.789-02:00", DateTimeZone.forID( "America/Montreal" ) ) ;
在许多重复的问题中讨论

避免从纪元开始计数 跟踪毫秒计数的建议是错误的

对于人类读者来说,这样一个来自时代的计数并没有任何意义,因为它使调试变得复杂和错误的数据不可见

哪个?A已在各种软件系统中使用

计数的粒度是多少?各种软件系统使用整秒、毫秒、微秒、纳秒或其他时间


同样,在许多重复的问题中进行了讨论。

ISO 8601是这样的标准吗?不,它不是这样的通用格式。日期可以用多种方式表示。有一个标准格式,但并非所有日期都应遵循该格式。@Prashant2329我已编辑了您的问题,并删除了不必要的大写字母。@LuiggiMendoza基于本地时区,我可以设置日期格式吗?有可能吗?ISO 8601是您需要的。它标准化了日期的表示方式,为每个组件提供了可预测的位置。