Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 如何在Java 6中存储UTC时区偏移的时间戳而不修改任何内容?_Oracle_Utc_Java 6_Timezone Offset_Timestamp With Timezone - Fatal编程技术网

Oracle 如何在Java 6中存储UTC时区偏移的时间戳而不修改任何内容?

Oracle 如何在Java 6中存储UTC时区偏移的时间戳而不修改任何内容?,oracle,utc,java-6,timezone-offset,timestamp-with-timezone,Oracle,Utc,Java 6,Timezone Offset,Timestamp With Timezone,如果以前有人问过我这个问题,我非常抱歉,我已经尝试过搜索一些可以回答我问题的东西,但是找不到 问题是: 假设我有一个字符串,看起来像->2017-01-05-04:44:43-06:00(格式为yyyy-MM-dd hh:MM:ss+/-UTC) 现在,我的目标是将其按原样存储在Oracle数据库中,包括偏移量(据我所知,我需要将该列定义为带时区的时间戳) 那么,如何将带有偏移量的时间戳捕获到Java日期和时间对象中呢?我不想将时间转换为UTC,我只想按原样存储并将其保存到DB中 请注意,我们使

如果以前有人问过我这个问题,我非常抱歉,我已经尝试过搜索一些可以回答我问题的东西,但是找不到

问题是: 假设我有一个字符串,看起来像->2017-01-05-04:44:43-06:00(格式为yyyy-MM-dd hh:MM:ss+/-UTC) 现在,我的目标是将其按原样存储在Oracle数据库中,包括偏移量(据我所知,我需要将该列定义为带时区的时间戳)

那么,如何将带有偏移量的时间戳捕获到Java日期和时间对象中呢?我不想将时间转换为UTC,我只想按原样存储并将其保存到DB中

请注意,我们使用的是Java 6,所以我不能使用Java.time包,也不能使用Joda time。因此,除此之外的任何解决方案都将非常感激

谢谢。

java.time 有关Java6和Java7的大部分功能的后端口,请参阅该项目(Java.time内置于Java8和更高版本中)。API几乎匹配,因此当您最终迁移到Java8或更高版本时,只需更改
import
语句即可

项目目前处于维护模式,但仍在积极维护。发起人建议转到java.time类

ISO 8601

将输入字符串中间的连字符替换为<代码> t>代码>以符合标准格式。默认情况下,这些标准格式在java.time类中用于解析和生成日期时间值的字符串表示形式

OffsetDateTime odt = OffsetDateTime.parse( "2017-01-05T04:44:43-06:00" );
搜索堆栈溢出 如果以前有人问过这个问题,我非常抱歉

是的,你的问题都是重复的。请在堆栈溢出中搜索所有问题的现有答案:

  • java.time的backport,三十个backport
  • 分析包含UTC偏移量的字符串,OffsetDateTime类
  • 与数据库和Oracle交换日期时间数据,特别是JDBC 4.2,用于直接交换java.time对象,或者调用添加到旧类中的新方法,以便将java.time转换为/从java.sql.Timestamp转换为
    java.sql.Timestamp
    ,或者在java-8之前的版本中,通过历元数的计数转换为
    Timestamp
  • 了解旧的遗留日期时间类有多糟糕,您绝对应该费心将java.time backport库添加到您的项目中
提示:不要从堆栈溢出网站内搜索。他们的搜索引擎偏向于问题,而你想在答案中搜索。在DuckDuckGo、Google或Bing中使用
站点:stackoverflow.com


关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,&

该项目现已启动,建议迁移到类

要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是

您可以直接与数据库交换java.time对象。使用兼容的或更高版本。不需要字符串,也不需要
java.sql.*

从哪里获得java.time类

  • 然后
    • 内置的
    • 标准JavaAPI的一部分,带有捆绑实现
    • Java9添加了一些次要功能和修复
    • 大部分java.time功能都在中向后移植到Java6和Java7
    • 更高版本的Android捆绑包实现了java.time类

    • 对于早期的Android(你真的需要在Java中使用日期/时间,还是只将其传递到数据库?在这种情况下,你可以传递字符串并在DB中转换它?@AlexPoole Yea这将是我最后的选择。但目前已经有很多关于该字段的代码在Java中定义为日期,我正在寻找一种解决方案,可以如果我现在将其转换为字符串,我将避免进行大量代码重构。希望它有意义。