@JsonProperty public long getEpochSeconds() { return date.toEpochSecond(); }
private void setTimeAsYmd() { ZoneId zoneId = ZoneId.systemDefault(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm"); LocalDateTime startDateTime = LocalDateTime.parse(startYmdHm, formatter); LocalDateTime endDateTime = LocalDateTime.parse(endYmdHm, formatter); startTimeMillis = startDateTime.atZone(zoneId).toEpochSecond() * 1000L; endTimeMillis = endDateTime.atZone(zoneId).toEpochSecond() * 1000L; }
private void setTimeAsYmd() { ZoneId zoneId = ZoneId.systemDefault(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHH"); LocalDateTime startDateTime = LocalDateTime.parse(startYmd, formatter); LocalDateTime endDateTime = LocalDateTime.parse(endYmd, formatter); startYmdH = startDateTime.atZone(zoneId).toEpochSecond() * 1000L; endYmdH = endDateTime.atZone(zoneId).toEpochSecond() * 1000L; } }
private void setTimeAsYmd() { ZoneId zoneId = ZoneId.systemDefault(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss"); LocalDateTime startDateTime = LocalDateTime.parse(startYmdHms, formatter); LocalDateTime endDateTime = LocalDateTime.parse(endYmdHms, formatter); startTimeMillis = startDateTime.atZone(zoneId).toEpochSecond() * 1000L; endTimeMillis = endDateTime.atZone(zoneId).toEpochSecond() * 1000L; } }
@Override public void writeDateTime( ZonedDateTime zonedDateTime ) { buf.putLong( zonedDateTime.toEpochSecond() ); buf.putInt( zonedDateTime.getNano() ); final ZoneId zone = zonedDateTime.getZone(); if ( zone instanceof ZoneOffset ) { final int offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); // lowest bit set to 0: it's a zone offset in seconds buf.putInt( offsetSeconds << 1 ); } else { // lowest bit set to 1: it's a zone id final int zoneId = (TimeZones.map( zone.getId() ) << 1) | 1; buf.putInt( zoneId ); } } }
@Override public String next() { if (line == null) { throw new NoSuchElementException(); } String currentLine = line; try { line = reader.readLine(); } catch (IOException e) { line = null; } if (currentLine.equals("SEP") || currentLine.equals("RESET")) { return currentLine; } List<String> fields = new ArrayList<>(Splitter.on(" ").splitToList(currentLine)); // Timestamps in file are delta encoded long secondsSinceEpoch = date.toEpochSecond(); secondsSinceEpoch += Integer.parseInt(fields.get(2)); fields.set(2, String.valueOf(secondsSinceEpoch)); return Joiner.on(" ").join(fields); }
private DateTimeValue( ZonedDateTime value ) { ZoneId zone = value.getZone(); if ( zone instanceof ZoneOffset ) { this.value = value; } else { // Do a 2-way lookup of the zone to make sure we only use the new name of renamed zones ZoneId mappedZone = ZoneId.of( TimeZones.map( TimeZones.map( zone.getId() ) ) ); this.value = value.withZoneSameInstant( mappedZone ); } this.epochSeconds = this.value.toEpochSecond(); }
@Test public void shouldNotFailPreconditionForPutRequests() throws Exception { servletRequest.setMethod("PUT"); ZonedDateTime dateTime = ofEpochMilli(new Date().getTime()).atZone(GMT); servletRequest.addHeader(HttpHeaders.IF_UNMODIFIED_SINCE, RFC_1123_DATE_TIME.format(dateTime)); long justModified = dateTime.plus(1, ChronoUnit.SECONDS).toEpochSecond() * 1000; ResponseEntity<String> returnValue = ResponseEntity.ok() .lastModified(justModified).body("body"); initStringMessageConversion(TEXT_PLAIN); processor.handleReturnValue(returnValue, returnTypeResponseEntity, mavContainer, webRequest); assertConditionalResponse(HttpStatus.OK, null, null, justModified); }
@Override public final void writeDateTime( ZonedDateTime zonedDateTime ) throws E { long epochSecondUTC = zonedDateTime.toEpochSecond(); int nano = zonedDateTime.getNano(); ZoneId zone = zonedDateTime.getZone(); if ( zone instanceof ZoneOffset ) { int offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); writeDateTime( epochSecondUTC, nano, offsetSeconds ); } else { String zoneId = zone.getId(); writeDateTime( epochSecondUTC, nano, zoneId ); } }
@Override public ConnectorSplitSource getSplits(ConnectorTransactionHandle transactionHandle, ConnectorSession session, ConnectorTableLayoutHandle layoutHandle, SplitSchedulingStrategy splitSchedulingStrategy) { AtopTableLayoutHandle handle = (AtopTableLayoutHandle) layoutHandle; AtopTableHandle table = handle.getTableHandle(); List<ConnectorSplit> splits = new ArrayList<>(); ZonedDateTime end = ZonedDateTime.now(timeZone); for (Node node : nodeManager.getWorkerNodes()) { ZonedDateTime start = end.minusDays(maxHistoryDays - 1).withHour(0).withMinute(0).withSecond(0).withNano(0); while (start.isBefore(end)) { ZonedDateTime splitEnd = start.withHour(23).withMinute(59).withSecond(59).withNano(0); Domain splitDomain = Domain.create(ValueSet.ofRanges(Range.range(TIMESTAMP_WITH_TIME_ZONE, 1000 * start.toEpochSecond(), true, 1000 * splitEnd.toEpochSecond(), true)), false); if (handle.getStartTimeConstraint().overlaps(splitDomain) && handle.getEndTimeConstraint().overlaps(splitDomain)) { splits.add(new AtopSplit(table.getTable(), node.getHostAndPort(), start.toEpochSecond(), start.getZone())); } start = start.plusDays(1).withHour(0).withMinute(0).withSecond(0).withNano(0); } } return new FixedSplitSource(splits); } }
@Test public void testSerialization() { JsonCodec<AtopSplit> codec = JsonCodec.jsonCodec(AtopSplit.class); ZonedDateTime now = ZonedDateTime.now(ZoneId.of("+01:23")); AtopSplit split = new AtopSplit(AtopTable.DISKS, HostAddress.fromParts("localhost", 123), now.toEpochSecond(), now.getZone()); AtopSplit decoded = codec.fromJson(codec.toJson(split)); assertEquals(decoded.getTable(), split.getTable()); assertEquals(decoded.getHost(), split.getHost()); assertEquals(decoded.getDate(), split.getDate()); assertEquals(decoded.getEpochSeconds(), split.getEpochSeconds()); assertEquals(decoded.getTimeZone(), split.getTimeZone()); } }
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); long millis = zonedDateTime.toEpochSecond() * 1000; Date date = new Date(0);
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault()); long millis = SECONDS.toMillis(zonedDateTime.toEpochSecond()); Date date = new Date(0);
public static byte[] encodeDateTimeArray( ZonedDateTime[] dateTimes ) { // We could store this in dateTimes.length * 2.5 if we wanted long[] data = new long[dateTimes.length * BLOCKS_DATETIME]; int i; for ( i = 0; i < dateTimes.length; i++ ) { data[i * BLOCKS_DATETIME] = dateTimes[i].toEpochSecond(); data[i * BLOCKS_DATETIME + 1] = dateTimes[i].getNano(); if ( dateTimes[i].getZone() instanceof ZoneOffset ) { ZoneOffset offset = (ZoneOffset) dateTimes[i].getZone(); int secondOffset = offset.getTotalSeconds(); // Set lowest bit to 1 means offset data[i * BLOCKS_DATETIME + 2] = secondOffset << 1 | 1L; } else { String timeZoneId = dateTimes[i].getZone().getId(); short zoneNumber = TimeZones.map( timeZoneId ); // Set lowest bit to 0 means zone id data[i * BLOCKS_DATETIME + 2] = zoneNumber << 1; } } TemporalHeader header = new TemporalHeader( TemporalType.TEMPORAL_DATE_TIME.temporalType ); byte[] bytes = DynamicArrayStore.encodeFromNumbers( data, DynamicArrayStore.TEMPORAL_HEADER_SIZE ); header.writeArrayHeaderTo( bytes ); return bytes; }
@Override public void write( Object value, FlushableChannel into ) throws IOException { ZonedDateTime zonedDateTime = (ZonedDateTime) value; long epochSecondUTC = zonedDateTime.toEpochSecond(); int nano = zonedDateTime.getNano(); ZoneId zone = zonedDateTime.getZone(); if ( zone instanceof ZoneOffset ) { int offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); into.put( (byte) 0 ); into.putLong( epochSecondUTC ); into.putInt( nano ); into.putInt( offsetSeconds ); } else { String zoneId = zone.getId(); into.put( (byte) 1 ); into.putLong( epochSecondUTC ); into.putInt( nano ); into.putInt( TimeZones.map( zoneId ) ); } } } );
long ifModifiedSinceDateSeconds = ifModifiedSince.toEpochSecond(); long fileLastModifiedSeconds = lastModified / 1000; if (ifModifiedSinceDateSeconds == fileLastModifiedSeconds) {
@Override public ZonedDateTime getRandomValue() { long minSeconds = min.toEpochSecond(); long maxSeconds = max.toEpochSecond(); long seconds = (long) nextDouble(minSeconds, maxSeconds); int minNanoSeconds = min.getNano(); int maxNanoSeconds = max.getNano(); long nanoSeconds = (long) nextDouble(minNanoSeconds, maxNanoSeconds); return ZonedDateTime.ofInstant(Instant.ofEpochSecond(seconds, nanoSeconds), min.getZone()); }
@Override protected String toJsonNanos(ZonedDateTime value) { return toJsonNanos(value.toEpochSecond(), value.getNano()); }
long interval_end = windowTimes[i].toEpochSecond(); final List<Double> doubles = Lists.newArrayList(); long first_ts = -1; model.add(new Pair<Long, Double>(model_ts.toEpochSecond(), WeightedValue.aggregate(accumulator, windowAggregator))); if (model_ts.toEpochSecond() > end_ts.toEpochSecond()) { prediction_index++; if (prediction_index >= futureWindows) { indices[i] = 0; initializeIndices(data, model_ts.toEpochSecond());
(windowDistanceInterval * (pastWindows - i)), windowDistanceIntervalUnits); final long seek_time = seek.toEpochSecond();