本文整理了Java中java.time.ZonedDateTime.truncatedTo()
方法的一些代码示例,展示了ZonedDateTime.truncatedTo()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZonedDateTime.truncatedTo()
方法的具体详情如下:
包路径:java.time.ZonedDateTime
类名称:ZonedDateTime
方法名:truncatedTo
[英]Returns a copy of this ZonedDateTime with the time truncated.
Truncation returns a copy of the original date-time with fields smaller than the specified unit set to zero. For example, truncating with the ChronoUnit#MINUTES unit will set the second-of-minute and nano-of-second field to zero.
The unit must have a TemporalUnit#getDuration()that divides into the length of a standard day without remainder. This includes all supplied time units on ChronoUnit and ChronoUnit#DAYS. Other units throw an exception.
This operates on the local time-line, LocalDateTime#truncatedTo(TemporalUnit)the underlying local date-time. This is then converted back to a ZonedDateTime, using the zone ID to obtain the offset.
When converting back to ZonedDateTime, if the local date-time is in an overlap, then the offset will be retained if possible, otherwise the earlier offset will be used. If in a gap, the local date-time will be adjusted forward by the length of the gap.
This instance is immutable and unaffected by this method call.
[中]返回此ZoneDateTime的副本,时间被截断。
截断返回原始日期时间的副本,其中字段小于指定的单位,设置为零。例如,使用ChronoUnit#MINUTES单位进行截断会将秒数和秒数字段设置为零。
该单元必须有一个临时单元#getDuration(),它可以划分为一个标准日的长度,没有余数。这包括ChronoUnit和ChronoUnit#天上提供的所有时间单位。其他单位会抛出一个例外。
它在本地时间线LocalDateTime#truncatedTo(TemporalUnit)基础本地日期时间上运行。然后将其转换回ZoneDateTime,使用分区ID获取偏移量。
当转换回ZoneDateTime时,如果本地日期时间重叠,那么如果可能,将保留偏移量,否则将使用较早的偏移量。如果存在间隙,本地日期时间将根据间隙的长度向前调整。
此实例是不可变的,不受此方法调用的影响。
代码示例来源:origin: wildfly/wildfly
switch (period) {
case YEAR:
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS)
.withDayOfYear(1)
.plus(1, ChronoUnit.YEARS);
break;
case MONTH:
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS)
.withDayOfMonth(1)
.plus(1,ChronoUnit.MONTHS);
break;
case WEEK:
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS)
.with(TemporalAdjusters.next(WeekFields.of(Locale.getDefault()).getFirstDayOfWeek()));
break;
case DAY:
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.DAYS)
.plus(1, ChronoUnit.DAYS);
break;
case HALF_DAY:
ZonedDateTime halfDay = ZonedDateTime.from(zonedDateTime).truncatedTo(ChronoUnit.DAYS)
.plus(1, ChronoUnit.HALF_DAYS);
if ( zonedDateTime.isBefore(halfDay) ) {
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.HOURS)
.plus(1, ChronoUnit.HOURS);
break;
case MINUTE:
zonedDateTime = zonedDateTime.truncatedTo(ChronoUnit.MINUTES)
代码示例来源:origin: graphhopper/graphhopper
stopTime.trip_id = trip.trip_id;
final ZonedDateTime arrival_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone);
stopTime.arrival_time = (int) Duration.between(arrival_time.truncatedTo(ChronoUnit.DAYS), arrival_time).getSeconds();
final ZonedDateTime departure_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone);
stopTime.departure_time = (int) Duration.between(departure_time.truncatedTo(ChronoUnit.DAYS), departure_time).getSeconds();
stopTimes.add(stopTime);
logger.trace("Number of stop times: {}", stopTimes.size());
代码示例来源:origin: graphhopper/graphhopper
stopTime.trip_id = trip.trip_id;
final ZonedDateTime arrival_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone);
stopTime.arrival_time = (int) Duration.between(arrival_time.truncatedTo(ChronoUnit.DAYS), arrival_time).getSeconds();
final ZonedDateTime departure_time = Instant.ofEpochSecond(stopTimeUpdate.getArrival().getTime()).atZone(timezone);
stopTime.departure_time = (int) Duration.between(departure_time.truncatedTo(ChronoUnit.DAYS), departure_time).getSeconds();
return stopTime;
})
代码示例来源:origin: stackoverflow.com
LocalDateTime now = LocalDateTime.now();
ZonedDateTime zoned = now.atZone(ZoneId.of("America/Denver"));
System.out.println("Pre-Truncate: " + zoned);
DateTimeFormatter dtf = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
System.out.println("Post-Truncate: " + zoned.truncatedTo(ChronoUnit.SECONDS).format(dtf));
代码示例来源:origin: org.elasticsearch/elasticsearch
@SuppressForbidden(reason = "only exposing the method as a passthrough")
public ZonedDateTime truncatedTo(TemporalUnit unit) {
return dt.truncatedTo(unit);
}
代码示例来源:origin: stackoverflow.com
ZonedDateTime zdt =
ZonedDateTime.of(2015, 10, 18, 0, 30, 0, 0,
ZoneId.of("America/Sao_Paulo")); // switch to summer time
ZonedDateTime zdt1 = zdt.truncatedTo(ChronoUnit.DAYS);
ZonedDateTime zdt2 = zdt.toLocalDate().atStartOfDay(zdt.getZone());
System.out.println(zdt); // 2015-10-18T01:30-02:00[America/Sao_Paulo]
System.out.println(zdt1); // 2015-10-18T01:00-02:00[America/Sao_Paulo]
System.out.println(zdt2); // 2015-10-18T01:00-02:00[America/Sao_Paulo]
代码示例来源:origin: org.codehaus.groovy/groovy-datetime
/**
* Returns an {@link java.time.ZonedDateTime} with the time portion cleared.
*
* @param self a ZonedDateTime
* @return a ZonedDateTime
* @since 2.5.0
*/
public static ZonedDateTime clearTime(final ZonedDateTime self) {
return self.truncatedTo(DAYS);
}
代码示例来源:origin: inspire-software/yes-cart
/**
* Determine start of day for this zoned date time (the start is at 00:00:00).
*
* @param date date time
*
* @return start of the day
*/
public static ZonedDateTime zdtAtStartOfDay(final ZonedDateTime date) {
return date != null ? date.truncatedTo(ChronoUnit.DAYS) : null;
}
代码示例来源:origin: com.hp.autonomy.aci.content/content-parameter-api
private static String formatDate(final ZonedDateTime param) {
// IDOL ISO date time does not have a year 0 whereas Java ISO date time does
return DateTimeFormatter.ISO_INSTANT
.format(param.truncatedTo(ChronoUnit.SECONDS));
}
代码示例来源:origin: com.hp.autonomy.aci.content/content-parameter-api
protected String formatElement(final ZonedDateTime range) {
// IDOL ISO date time does not have a year 0 whereas Java ISO date time does
return DateTimeFormatter.ISO_INSTANT
.format(range.truncatedTo(ChronoUnit.SECONDS));
}
}
代码示例来源:origin: eXparity/hamcrest-date
@Override
public boolean isAfter(final ZonedDateTime other) {
return wrapped.apply(zone).truncatedTo(accuracy).toInstant().isAfter(other.truncatedTo(accuracy).toInstant());
}
代码示例来源:origin: OpenNMS/opennms
public static String iso8601OffsetString(Date d, ZoneId zone, ChronoUnit truncateTo) {
ZonedDateTime zdt = ((d).toInstant())
.atZone(zone);
if(truncateTo != null) {
zdt = zdt.truncatedTo(truncateTo);
}
return zdt.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME);
}
代码示例来源:origin: eXparity/hamcrest-date
@Override
public boolean isBefore(final Date other) {
return wrapped.apply(zone).truncatedTo(accuracy).toInstant().isBefore(other.toInstant().atZone(zone).truncatedTo(accuracy).toInstant());
}
代码示例来源:origin: com.testdroid/testdroid-api
public static Long atMidnight(LocalDateTime date) {
return date
.atZone(ZoneId.of("UTC"))
.truncatedTo(ChronoUnit.DAYS)
.toInstant().toEpochMilli();
}
代码示例来源:origin: eXparity/hamcrest-date
@Override
public boolean isSame(final ZonedDateTime other) {
return wrapped.apply(zone).truncatedTo(accuracy).toInstant().equals(other.truncatedTo(accuracy).toInstant());
}
代码示例来源:origin: sakaiproject/sakai
public ReportParams(String siteId){
this.siteId = siteId;
whatToolIds.add(ReportManager.WHAT_EVENTS_ALLTOOLS);
// events are counted against a particular date using the server time zone, so initialize the date
// range based on the current date in that time zone
ZonedDateTime today = ZonedDateTime.now(ZoneId.systemDefault()).truncatedTo(ChronoUnit.DAYS);
ZonedDateTime yesterday = today.minusDays(1);
whenFrom = Date.from(yesterday.toInstant());
whenTo = Date.from(today.toInstant());
}
代码示例来源:origin: UniversaBlockchain/universa
public List<Binder> getPaymentStats(Ledger ledger, int daysNum) {
List<Binder> result = new ArrayList<>();
ZonedDateTime now = ZonedDateTime.now();
Map<Integer, Integer> payments = ledger.getPayments(now.truncatedTo(ChronoUnit.DAYS).minusDays(daysNum));
payments.keySet().forEach( day -> {
result.add(Binder.of("date",ZonedDateTime.ofInstant(Instant.ofEpochSecond(day), ZoneId.systemDefault()).format(formatter), "units",payments.get(day)));
});
return result;
}
}
代码示例来源:origin: org.pageseeder.bridge/pso-bridge
private static String format(LocalDateTime datetime) {
// We format using second resolutions in UTC
return datetime.atZone(ZoneOffset.systemDefault())
.withZoneSameInstant(ZoneOffset.UTC)
.truncatedTo(ChronoUnit.SECONDS)
.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME)+"Z";
}
代码示例来源:origin: espertechinc/esper
public ZonedDateTime evaluate(ZonedDateTime zdt, EventBean[] eventsPerStream, boolean isNewData, ExprEvaluatorContext context) {
if (code == ApacheCommonsDateUtils.MODIFY_TRUNCATE) {
return zdt.truncatedTo(fieldName.getChronoUnit());
} else if (code == ApacheCommonsDateUtils.MODIFY_CEILING) {
return zdt.plus(1, fieldName.getChronoUnit()).truncatedTo(fieldName.getChronoUnit());
} else {
throw new EPException("Round-half operation not supported for ZonedDateTime");
}
}
代码示例来源:origin: com.cronutils/cron-utils
private ExecutionTimeResult getNextPotentialDayOfMonth(final ZonedDateTime date,
final int lowestHour,
final int lowestMinute,
final int lowestSecond,
final TimeNode node) {
final NearestValue nearestValue = node.getNextValue(date.getDayOfMonth(), 0);
if (nearestValue.getShifts() > 0) {
return new ExecutionTimeResult(date.truncatedTo(DAYS).withDayOfMonth(1).plusMonths(nearestValue.getShifts()), false);
}
return new ExecutionTimeResult(date.truncatedTo(SECONDS).withDayOfMonth(nearestValue.getValue())
.with(LocalTime.of(lowestHour, lowestMinute, lowestSecond)), false);
}
内容来源于网络,如有侵权,请联系作者删除!