gpt4 book ai didi

java.time.ZoneId.ofOffset()方法的使用及代码示例

转载 作者:知者 更新时间:2024-03-17 17:26:40 34 4
gpt4 key购买 nike

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

ZoneId.ofOffset介绍

[英]Obtains an instance of ZoneId wrapping an offset.

If the prefix is "GMT", "UTC", or "UT" a ZoneIdwith the prefix and the non-zero offset is returned. If the prefix is empty "" the ZoneOffset is returned.
[中]获取包裹偏移的ZoneId实例。
如果前缀为“GMT”、“UTC”或“UT”,则返回带有前缀和非零偏移的区域ID。如果前缀为空“”,则返回ZoneOffset。

代码示例

代码示例来源:origin: hibernate/hibernate-orm

@Override
@SuppressWarnings("unchecked")
public <X> X unwrap(Instant instant, Class<X> type, WrapperOptions options) {
  if ( instant == null ) {
    return null;
  }
  if ( Instant.class.isAssignableFrom( type ) ) {
    return (X) instant;
  }
  if ( Calendar.class.isAssignableFrom( type ) ) {
    final ZoneId zoneId = ZoneId.ofOffset( "UTC", ZoneOffset.UTC );
    return (X) GregorianCalendar.from( instant.atZone( zoneId ) );
  }
  if ( java.sql.Timestamp.class.isAssignableFrom( type ) ) {
    return (X) Timestamp.from( instant );
  }
  if ( java.sql.Date.class.isAssignableFrom( type ) ) {
    return (X) java.sql.Date.from( instant );
  }
  if ( java.sql.Time.class.isAssignableFrom( type ) ) {
    return (X) java.sql.Time.from( instant );
  }
  if ( java.util.Date.class.isAssignableFrom( type ) ) {
    return (X) Date.from( instant );
  }
  if ( Long.class.isAssignableFrom( type ) ) {
    return (X) Long.valueOf( instant.toEpochMilli() );
  }
  throw unknownUnwrap( type );
}

代码示例来源:origin: cdapio/cdap

/**
 * Get the {@link ZonedDateTime} with timezone 'UTC' for the specified field.
 * The field must have {@link Schema.LogicalType#TIMESTAMP_MILLIS} or {@link Schema.LogicalType#TIMESTAMP_MICROS}
 * as its logical type.
 *
 * @param fieldName zoned date time field to get.
 * @return value of the field as a {@link ZonedDateTime}
 * @throws UnexpectedFormatException if the provided field is not of {@link LogicalType#TIMESTAMP_MILLIS} or
 *                                   {@link LogicalType#TIMESTAMP_MICROS} type.
 */
@Nullable
public ZonedDateTime getTimestamp(String fieldName) {
 return getTimestamp(fieldName, ZoneId.ofOffset("UTC", ZoneOffset.UTC));
}

代码示例来源:origin: co.cask.cdap/cdap-api-common

/**
 * Get the {@link ZonedDateTime} with timezone 'UTC' for the specified field.
 * The field must have {@link Schema.LogicalType#TIMESTAMP_MILLIS} or {@link Schema.LogicalType#TIMESTAMP_MICROS}
 * as its logical type.
 *
 * @param fieldName zoned date time field to get.
 * @return value of the field as a {@link ZonedDateTime}
 * @throws UnexpectedFormatException if the provided field is not of {@link LogicalType#TIMESTAMP_MILLIS} or
 *                                   {@link LogicalType#TIMESTAMP_MICROS} type.
 */
@Nullable
public ZonedDateTime getTimestamp(String fieldName) {
 return getTimestamp(fieldName, ZoneId.ofOffset("UTC", ZoneOffset.UTC));
}

代码示例来源:origin: org.ballerinalang/siddhi-core

private static long getStartTimeOfAggregatesForYear(long currentTime, String timeZone) {
  ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentTime),
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)));
  return ZonedDateTime
      .of(zonedDateTime.getYear(), 1, 1, 0, 0, 0, 0, ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)))
      .toEpochSecond() * 1000;
}

代码示例来源:origin: org.ballerinalang/siddhi-core

private static long getStartTimeOfPreviousYear(long currentEmitTime, String timeZone) {
  ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentEmitTime),
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)));
  int givenYear = zonedDateTime.getYear();
  return ZonedDateTime.of(--givenYear, 1, 1, 0, 0, 0, 0, ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)))
      .toEpochSecond() * 1000;
}

代码示例来源:origin: org.ballerinalang/siddhi-core

private static long getNextEmitTimeForYear(long currentTime, String timeZone) {
  ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentTime),
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)));
  return ZonedDateTime
      .of(zonedDateTime.getYear() + 1, 1, 1, 0, 0, 0, 0, ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)))
      .toEpochSecond() * 1000;
}

代码示例来源:origin: co.cask.wrangler/wrangler-core

/**
 * Return number of dates between now and date days.
 *
 * @param date Now - this date.
 * @return Number of days.
 */
public static int DAYS_BETWEEN_NOW(ZonedDateTime date) {
 validate(date, "DAYS_BETWEEN_NOW");
 ZonedDateTime now = ZonedDateTime.now(ZoneId.ofOffset("UTC", ZoneOffset.UTC));
 // returns number of days between date and now, date being lower.
 return (int) DAYS.between(date, now);
}

代码示例来源:origin: org.ballerinalang/siddhi-core

public static long getUnixTimeStamp(String stringTimeStamp) {
  stringTimeStamp = stringTimeStamp.trim();
  // stringTimeStamp must be of format "2017-06-01 04:05:50 +05:00 (not GMT) or 2017-06-01 04:05:50 (if in GMT)"
  if (gmtRegexPattern.matcher(stringTimeStamp).matches()) {
    String[] dateTime = stringTimeStamp.split(" ");
    return Instant.parse(dateTime[0].concat("T").concat(dateTime[1]).concat("Z")).toEpochMilli();
  } else if (nonGmtRegexPattern.matcher(stringTimeStamp).matches()) {
    String[] dateTimeZone = stringTimeStamp.split(" ");
    String[] splitDate = dateTimeZone[0].split("-");
    String[] splitTime = dateTimeZone[1].split(":");
    return ZonedDateTime
        .of(Integer.parseInt(splitDate[0]), Integer.parseInt(splitDate[1]), Integer.parseInt(splitDate[2]),
            Integer.parseInt(splitTime[0]), Integer.parseInt(splitTime[1]),
            Integer.parseInt(splitTime[2]), 0, ZoneId.ofOffset("GMT", ZoneOffset.of(dateTimeZone[2])))
        .toEpochSecond() * 1000;
  }
  throw new SiddhiAppRuntimeException("Timestamp " + stringTimeStamp + "doesn't match "
      + "the supported formats <yyyy>-<MM>-<dd> <HH>:<mm>:<ss> (for GMT time zone) or " +
      "<yyyy>-<MM>-<dd> <HH>:<mm>:<ss> <Z> (for non GMT time zone). The ISO 8601 UTC offset must be "
      + "provided for <Z> (ex. +05:30, -11:00");
}

代码示例来源:origin: org.ballerinalang/siddhi-core

private static long getStartTimeOfAggregatesForMonth(long currentTime, String timeZone) {
  ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentTime),
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)));
  return ZonedDateTime.of(zonedDateTime.getYear(), zonedDateTime.getMonthValue(), 1, 0, 0, 0, 0,
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone))).toEpochSecond() * 1000;
}

代码示例来源:origin: org.ballerinalang/siddhi-core

private static long getStartTimeOfPreviousMonth(long currentEmitTime, String timeZone) {
  ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentEmitTime),
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)));
  int givenMonth = zonedDateTime.getMonthValue();
  int givenYear = zonedDateTime.getYear();
  if (givenMonth == 1) {
    return ZonedDateTime.of(--givenYear, 12, 1, 0, 0, 0, 0, ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)))
        .toEpochSecond() * 1000;
  } else {
    return ZonedDateTime
        .of(givenYear, --givenMonth, 1, 0, 0, 0, 0, ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)))
        .toEpochSecond() * 1000;
  }
}

代码示例来源:origin: com.github.seratch/java-time-backport

private int parsePrefixedOffset(DateTimeParseContext context, CharSequence text, int prefixPos, int position) {
  String prefix = text.subSequence(prefixPos, position).toString().toUpperCase();
  DateTimeParseContext newContext = context.copy();
  if (position < text.length() && context.charEquals(text.charAt(position), 'Z')) {
    context.setParsed(ZoneId.ofOffset(prefix, ZoneOffset.UTC));
    return position;
  }
  int endPos = OffsetIdPrinterParser.INSTANCE_ID.parse(newContext, text, position);
  if (endPos < 0) {
    context.setParsed(ZoneId.ofOffset(prefix, ZoneOffset.UTC));
    return position;
  }
  int offsetSecs = (int) newContext.getParsed(OFFSET_SECONDS).longValue();
  ZoneOffset offset = ZoneOffset.ofTotalSeconds(offsetSecs);
  context.setParsed(ZoneId.ofOffset(prefix, offset));
  return endPos;
}

代码示例来源:origin: org.ballerinalang/siddhi-core

private static long getNextEmitTimeForMonth(long currentTime, String timeZone) {
  ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(Instant.ofEpochMilli(currentTime),
      ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)));
  if (zonedDateTime.getMonthValue() == 12) {
    // For a time in December, emit time should be beginning of January next year
    return ZonedDateTime
        .of(zonedDateTime.getYear() + 1, 1, 1, 0, 0, 0, 0, ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone)))
        .toEpochSecond() * 1000;
  } else {
    // For any other month, the 1st day of next month must be considered
    return ZonedDateTime.of(zonedDateTime.getYear(), zonedDateTime.getMonthValue() + 1, 1, 0, 0, 0, 0,
        ZoneId.ofOffset("GMT", ZoneOffset.of(timeZone))).toEpochSecond() * 1000;
  }
}

代码示例来源:origin: sakaiproject/sakai

@Override
public <T> T unwrap(Instant instant, Class<T> type, WrapperOptions options) {
  if (instant == null) {
    return null;
  }
  if (Instant.class.isAssignableFrom(type)) {
    return (T) instant;
  }
  if (Calendar.class.isAssignableFrom(type)) {
    final ZoneId zoneId = ZoneId.ofOffset("UTC", ZoneOffset.UTC);
    return (T) GregorianCalendar.from(instant.atZone(zoneId));
  }
  if (java.sql.Timestamp.class.isAssignableFrom(type)) {
    return (T) Timestamp.from(instant);
  }
  if (java.sql.Date.class.isAssignableFrom(type)) {
    return (T) java.sql.Date.from(instant);
  }
  if (java.sql.Time.class.isAssignableFrom(type)) {
    return (T) java.sql.Time.from(instant);
  }
  if (java.util.Date.class.isAssignableFrom(type)) {
    return (T) Date.from(instant);
  }
  if (Long.class.isAssignableFrom(type)) {
    return (T) Long.valueOf(instant.toEpochMilli());
  }
  throw unknownUnwrap(type);
}

代码示例来源:origin: org.sakaiproject.kernel/sakai-kernel-private

@Override
public <T> T unwrap(Instant instant, Class<T> type, WrapperOptions options) {
  if (instant == null) {
    return null;
  }
  if (Instant.class.isAssignableFrom(type)) {
    return (T) instant;
  }
  if (Calendar.class.isAssignableFrom(type)) {
    final ZoneId zoneId = ZoneId.ofOffset("UTC", ZoneOffset.UTC);
    return (T) GregorianCalendar.from(instant.atZone(zoneId));
  }
  if (java.sql.Timestamp.class.isAssignableFrom(type)) {
    return (T) Timestamp.from(instant);
  }
  if (java.sql.Date.class.isAssignableFrom(type)) {
    return (T) java.sql.Date.from(instant);
  }
  if (java.sql.Time.class.isAssignableFrom(type)) {
    return (T) java.sql.Time.from(instant);
  }
  if (java.util.Date.class.isAssignableFrom(type)) {
    return (T) Date.from(instant);
  }
  if (Long.class.isAssignableFrom(type)) {
    return (T) Long.valueOf(instant.toEpochMilli());
  }
  throw unknownUnwrap(type);
}

代码示例来源:origin: org.hibernate.orm/hibernate-core

@Override
@SuppressWarnings("unchecked")
public <X> X unwrap(Instant instant, Class<X> type, SharedSessionContractImplementor session) {
  if ( instant == null ) {
    return null;
  }
  if ( Instant.class.isAssignableFrom( type ) ) {
    return (X) instant;
  }
  if ( Calendar.class.isAssignableFrom( type ) ) {
    final ZoneId zoneId = ZoneId.ofOffset( "UTC", ZoneOffset.UTC );
    return (X) GregorianCalendar.from( instant.atZone( zoneId ) );
  }
  if ( Timestamp.class.isAssignableFrom( type ) ) {
    return (X) Timestamp.from( instant );
  }
  if ( java.sql.Date.class.isAssignableFrom( type ) ) {
    return (X) java.sql.Date.from( instant );
  }
  if ( java.sql.Time.class.isAssignableFrom( type ) ) {
    return (X) java.sql.Time.from( instant );
  }
  if ( Date.class.isAssignableFrom( type ) ) {
    return (X) Date.from( instant );
  }
  if ( Long.class.isAssignableFrom( type ) ) {
    return (X) Long.valueOf( instant.toEpochMilli() );
  }
  throw unknownUnwrap( type );
}

代码示例来源:origin: co.cask.wrangler/wrangler-core

ZonedDateTime zonedDateTime;
if (object instanceof LocalDate) {
 zonedDateTime = ((LocalDate) object).atStartOfDay(ZoneId.ofOffset("UTC", ZoneOffset.UTC));
} else if (object instanceof ZonedDateTime) {
 zonedDateTime = (ZonedDateTime) object;

代码示例来源:origin: co.cask.wrangler/wrangler-core

.atZone(ZoneId.ofOffset("UTC", ZoneOffset.UTC)));
 row.setValue(idx, zonedDateTime);
} catch (ParseException e) {

代码示例来源:origin: com.intuit.wasabi/wasabi-api

/**
 * Formats a date as it is shown in the UI to allow for matching searches on date fields.
 * Needs the requesting user's timezone offset to UTC for correct matches.
 *
 * @param date           the date
 * @param timeZoneOffset the timezone offset to UTC
 * @return a timezone offset adjusted string of the UI pattern {@code MMM d, YYYY HH:mm:ss a}.
 */
/*test*/
static String formatDateTimeAsUI(OffsetDateTime date, String timeZoneOffset) {
  try {
    return date.format(DateTimeFormatter.ofPattern("MMM d, YYYY HH:mm:ss a")
        .withZone(ZoneId.ofOffset("UTC", ZoneOffset.of(timeZoneOffset))));
  } catch (DateTimeException dateTimeException) {
    throw new PaginationException(ErrorCode.FILTER_KEY_UNPROCESSABLE,
        "Wrong format: Can not parse timezone '" + timeZoneOffset + "' or date " + date.toString()
            + " properly.", dateTimeException);
  }
}

代码示例来源:origin: co.cask.wrangler/wrangler-core

@Override
public List<Row> execute(List<Row> rows, ExecutorContext context)
 throws DirectiveExecutionException, ErrorRowException {
 for (Row row : rows) {
  int idx = row.find(column);
  if (idx != -1) {
   Object object = row.getValue(idx);
   // If the data in the cell is null or is already of date format, then
   // continue to next row.
   if (object == null || object instanceof ZonedDateTime) {
    continue;
   }
   long longValue = getLongValue(object);
   ZonedDateTime zonedDateTime = getZonedDateTime(longValue, timeUnit, ZoneId.ofOffset("UTC", ZoneOffset.UTC));
   row.setValue(idx, zonedDateTime);
  }
 }
 return rows;
}

代码示例来源:origin: epam/DLab

/**
 * Checks if scheduler's time data satisfies existing time parameters.
 *
 * @param dto           scheduler job data.
 * @param dateTime      existing time data.
 * @param desiredStatus target exploratory status which has influence for time/date checking ('running' status
 *                      requires for checking start time, 'stopped' - for end time, 'terminated' - for
 *                      'terminatedDateTime').
 * @return true/false.
 */
private boolean isSchedulerJobDtoSatisfyCondition(SchedulerJobDTO dto, OffsetDateTime dateTime,
                         UserInstanceStatus desiredStatus) {
  ZoneOffset zOffset = dto.getTimeZoneOffset();
  OffsetDateTime roundedDateTime = OffsetDateTime.of(
      dateTime.toLocalDate(),
      LocalTime.of(dateTime.toLocalTime().getHour(), dateTime.toLocalTime().getMinute()),
      dateTime.getOffset());
  LocalDateTime convertedDateTime = ZonedDateTime.ofInstant(roundedDateTime.toInstant(),
      ZoneId.ofOffset(TIMEZONE_PREFIX, zOffset)).toLocalDateTime();
  return desiredStatus == TERMINATED ?
      Objects.nonNull(dto.getTerminateDateTime()) &&
          convertedDateTime.toLocalDate().equals(dto.getTerminateDateTime().toLocalDate())
          && convertedDateTime.toLocalTime().equals(getDesiredTime(dto, desiredStatus)) :
      !convertedDateTime.toLocalDate().isBefore(dto.getBeginDate())
          && isFinishDateMatchesCondition(dto, convertedDateTime)
          && getDaysRepeat(dto, desiredStatus).contains(convertedDateTime.toLocalDate().getDayOfWeek())
          && convertedDateTime.toLocalTime().equals(getDesiredTime(dto, desiredStatus));
}

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com