java.time.OffsetDateTime.withOffsetSameInstant()方法的使用及代码示例

x33g5p2x  于2022-01-25 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中java.time.OffsetDateTime.withOffsetSameInstant()方法的一些代码示例,展示了OffsetDateTime.withOffsetSameInstant()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。OffsetDateTime.withOffsetSameInstant()方法的具体详情如下:
包路径:java.time.OffsetDateTime
类名称:OffsetDateTime
方法名:withOffsetSameInstant

OffsetDateTime.withOffsetSameInstant介绍

[英]Returns a copy of this OffsetDateTime with the specified offset ensuring that the result is at the same instant.

This method returns an object with the specified ZoneOffset and a LocalDateTimeadjusted by the difference between the two offsets. This will result in the old and new objects representing the same instant. This is useful for finding the local time in a different offset. For example, if this time represents 2007-12-03T10:30+02:00 and the offset specified is +03:00, then this method will return 2007-12-03T11:30+03:00.

To change the offset without adjusting the local time use #withOffsetSameLocal.

This instance is immutable and unaffected by this method call.
[中]返回具有指定偏移量的此OffsetDateTime的副本,确保结果在同一时刻。
此方法返回具有指定ZoneOffset和LocalDateTimeadjusted(由两个偏移量之间的差值调整)的对象。这将导致新旧对象代表同一时刻。这对于在不同偏移中查找本地时间很有用。例如,如果此时间表示2007-12-03T10:30+02:00,且指定的偏移量为+03:00,则此方法将返回2007-12-03T11:30+03:00。
要更改偏移量而不调整本地时间,请使用#withOffsetSameLocal。
此实例是不可变的,不受此方法调用的影响。

代码示例

代码示例来源:origin: jdbi/jdbi

  1. @Test
  2. public void offsetDateTimeLosesOffset() {
  3. OffsetDateTime dt = OffsetDateTime.now().withOffsetSameInstant(ZoneOffset.ofHours(-7));
  4. h.execute("insert into stuff(ts) values (?)", dt);
  5. assertThat(h.createQuery("select ts from stuff").mapTo(OffsetDateTime.class).findOnly().isEqual(dt)).isTrue();
  6. }

代码示例来源:origin: jdbi/jdbi

  1. @Test
  2. public void offsetDateTimeLosesOffset() {
  3. OffsetDateTime dt = OffsetDateTime.now().withOffsetSameInstant(ZoneOffset.ofHours(-7));
  4. h.execute("insert into stuff(ts) values (?)", dt);
  5. assertThat(dt.isEqual(h.createQuery("select ts from stuff").mapTo(OffsetDateTime.class).findOnly())).isTrue();
  6. }

代码示例来源:origin: jdbi/jdbi

  1. @Test
  2. public void offsetDateTime() {
  3. OffsetDateTime dt = OffsetDateTime.now().withOffsetSameInstant(ZoneOffset.UTC);
  4. h.execute("insert into stuff(ts) values (?)", dt);
  5. assertThat(h.createQuery("select ts from stuff").mapTo(OffsetDateTime.class).findOnly()).isEqualTo(dt);
  6. }

代码示例来源:origin: debezium/debezium

  1. c4DateTime = c4DateTime.withOffsetSameInstant(ZoneOffset.of("Z"));
  2. assertThat(c4DateTime.getYear()).isEqualTo(1970);
  3. assertThat(c4DateTime.getMonth()).isEqualTo(Month.JANUARY);

代码示例来源:origin: bonitasoft/bonita-engine

  1. @Override
  2. public void serialize(OffsetDateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
  3. jgen.writeString((value != null) ? DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value.withOffsetSameInstant(ZoneOffset.UTC)) : null);
  4. }
  5. }

代码示例来源:origin: bonitasoft/bonita-engine

  1. @Override
  2. public void serialize(OffsetDateTime value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
  3. jgen.writeString((value != null) ? DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(value.withOffsetSameInstant(ZoneOffset.UTC)) : null);
  4. }
  5. }

代码示例来源:origin: net.dongliu/xhttp

  1. /**
  2. * Create new header, with datetime value
  3. */
  4. public static Header ofDate(String name, OffsetDateTime dateTime) {
  5. requireNonNull(name);
  6. requireNonNull(dateTime);
  7. return new Header(name, RFC_1123_DATE_TIME.format(dateTime.withOffsetSameInstant(UTC)));
  8. }

代码示例来源:origin: stackoverflow.com

  1. DateTimeFormatter fmt = new DateTimeFormatterBuilder()
  2. .append(DateTimeFormatter.ISO_OFFSET_DATE)
  3. .parseDefaulting(ChronoField.HOUR_OF_DAY, 0)
  4. .toFormatter();
  5. OffsetDateTime dt = OffsetDateTime.parse("2015-01-15-05:00", fmt);
  6. LocalDate date = dt.withOffsetSameInstant(ZoneOffset.UTC).toLocalDate();

代码示例来源:origin: bonitasoft/bonita-engine

  1. @Override
  2. public String convertToDatabaseColumn(OffsetDateTime offsetDateTime) {
  3. if (offsetDateTime != null) {
  4. return offsetDateTime.withOffsetSameInstant(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
  5. } else {
  6. return null;
  7. }
  8. }

代码示例来源:origin: bonitasoft/bonita-engine

  1. public Object fromString(String str) {
  2. try {
  3. return OffsetDateTime.parse(str).withOffsetSameInstant(ZoneOffset.UTC);
  4. } catch (DateTimeParseException e) {
  5. throw new RuntimeException("OffsetDateTime failed to parse the incoming string", e);
  6. }
  7. }
  8. }

代码示例来源:origin: bonitasoft/bonita-engine

  1. @Override
  2. public String convertToDatabaseColumn(OffsetDateTime offsetDateTime) {
  3. if (offsetDateTime != null) {
  4. return offsetDateTime.withOffsetSameInstant(ZoneOffset.UTC).format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
  5. } else {
  6. return null;
  7. }
  8. }

代码示例来源:origin: bonitasoft/bonita-engine

  1. @Override
  2. public OffsetDateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
  3. final String value = jp.readValueAs(String.class);
  4. if (value == null) {
  5. return null;
  6. }
  7. return OffsetDateTime.parse(value).withOffsetSameInstant(ZoneOffset.UTC);
  8. }
  9. }

代码示例来源:origin: bonitasoft/bonita-engine

  1. public Object fromString(String str) {
  2. try {
  3. return OffsetDateTime.parse(str).withOffsetSameInstant(ZoneOffset.UTC);
  4. } catch (DateTimeParseException e) {
  5. throw new RuntimeException("OffsetDateTime failed to parse the incoming string", e);
  6. }
  7. }
  8. }

代码示例来源:origin: com.sqlapp/sqlapp-core

  1. @Override
  2. protected OffsetDateTime toUtc(OffsetDateTime dateTime) {
  3. if (this.isUtc()) {
  4. if (dateTime == null) {
  5. return null;
  6. }
  7. return dateTime.withOffsetSameInstant(INSTANT_ZONE_OFFSET);
  8. } else {
  9. return dateTime;
  10. }
  11. }

代码示例来源:origin: de.juplo/jpa-converters

  1. @Override
  2. public Timestamp convertToDatabaseColumn(OffsetDateTime odt)
  3. {
  4. if (odt == null)
  5. return null;
  6. return Timestamp.valueOf(odt.withOffsetSameInstant(TimeConversions.getZoneOffset()).toLocalDateTime());
  7. }

代码示例来源:origin: Silverpeas/Silverpeas-Core

  1. /**
  2. * Is this period starts at the the minimum supported date/datetime in Java?
  3. * @return true if this period starts at the minimum date/datetime supported by Java.
  4. * False otherwise.
  5. * @see LocalDate#MIN for the minimum supported date.
  6. * @see OffsetDateTime#MIN for the maximum supported date.
  7. */
  8. public boolean startsAtMinDate() {
  9. return startDateTime.withOffsetSameInstant(OffsetDateTime.MIN.getOffset())
  10. .equals(OffsetDateTime.MIN);
  11. }

代码示例来源:origin: Silverpeas/Silverpeas-Core

  1. /**
  2. * Is this period ends at the the maximum supported date/datetime in Java?
  3. * @return true if this period ends at the minimum date/datetime supported by Java.
  4. * False otherwise.
  5. * @see LocalDate#MAX for the maximum supported datetime.
  6. * @see OffsetDateTime#MAX for the maximum supported datetime.
  7. */
  8. public boolean endsAtMaxDate() {
  9. return endDateTime.withOffsetSameInstant(OffsetDateTime.MAX.getOffset())
  10. .equals(OffsetDateTime.MAX);
  11. }

代码示例来源:origin: Silverpeas/Silverpeas-Core

  1. @Override
  2. public Timestamp convertToDatabaseColumn(OffsetDateTime dateTime) {
  3. if (dateTime == null) {
  4. return null;
  5. }
  6. if (dateTime.equals(OffsetDateTime.MIN)) {
  7. return MIN_TIMESTAMP;
  8. }
  9. if (dateTime.equals(OffsetDateTime.MAX)) {
  10. return MAX_TIMESTAMP;
  11. }
  12. return Timestamp.valueOf(dateTime.withOffsetSameInstant(ZoneOffset.UTC).toLocalDateTime());
  13. }

代码示例来源:origin: com.github.marschall/threeten-jpa-mssql-impl

  1. public static OffsetDateTime dateTimeOffsetToOffsetDateTime(DateTimeOffset dbData) {
  2. if (dbData == null) {
  3. return null;
  4. }
  5. OffsetDateTime utc = OffsetDateTime.ofInstant(dbData.getTimestamp().toInstant(), UTC);
  6. int offsetSeconds = Math.toIntExact(MINUTES.toSeconds(dbData.getMinutesOffset()));
  7. ZoneOffset offset = ZoneOffset.ofTotalSeconds(offsetSeconds);
  8. return utc.withOffsetSameInstant(offset);
  9. }

代码示例来源:origin: marschall/threeten-jpa

  1. public static OffsetDateTime dateTimeOffsetToOffsetDateTime(DateTimeOffset dbData) {
  2. if (dbData == null) {
  3. return null;
  4. }
  5. OffsetDateTime utc = OffsetDateTime.ofInstant(dbData.getTimestamp().toInstant(), UTC);
  6. int offsetSeconds = Math.toIntExact(MINUTES.toSeconds(dbData.getMinutesOffset()));
  7. ZoneOffset offset = ZoneOffset.ofTotalSeconds(offsetSeconds);
  8. return utc.withOffsetSameInstant(offset);
  9. }

相关文章