本文整理了Java中java.time.ZoneId.ofOffset()
方法的一些代码示例,展示了ZoneId.ofOffset()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZoneId.ofOffset()
方法的具体详情如下:
包路径:java.time.ZoneId
类名称: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));
}
内容来源于网络,如有侵权,请联系作者删除!