Java Code Examples for java.time.LocalDateTime#truncatedTo()
The following examples show how to use
java.time.LocalDateTime#truncatedTo() .
These examples are extracted from open source projects.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source Project: flowable-engine File: CaseInstanceVariableResourceTest.java License: Apache License 2.0 | 6 votes |
@CmmnDeployment(resources = { "org/flowable/cmmn/rest/service/api/repository/oneHumanTaskCase.cmmn" }) public void testGetCaseInstanceLocalDateTimeVariable() throws Exception { CaseInstance caseInstance = runtimeService.createCaseInstanceBuilder().caseDefinitionKey("oneHumanTaskCase").start(); LocalDateTime now = LocalDateTime.now(); LocalDateTime nowWithoutNanos = now.truncatedTo(ChronoUnit.MILLIS); runtimeService.setVariable(caseInstance.getId(), "variable", now); CloseableHttpResponse response = executeRequest( new HttpGet(SERVER_URL_PREFIX + CmmnRestUrls.createRelativeResourceUrl(CmmnRestUrls.URL_CASE_INSTANCE_VARIABLE, caseInstance.getId(), "variable")), HttpStatus.SC_OK); JsonNode responseNode = objectMapper.readTree(response.getEntity().getContent()); closeResponse(response); assertThat(responseNode).isNotNull(); assertThatJson(responseNode) .when(Option.IGNORING_EXTRA_FIELDS) .isEqualTo("{" + " name: 'variable'," + " type: 'localDateTime'," + " value: '" + nowWithoutNanos.toString() + "'" + "}"); }
Example 2
Source Project: flowable-engine File: ProcessInstanceVariableResourceTest.java License: Apache License 2.0 | 6 votes |
@Test @Deployment(resources = { "org/flowable/rest/service/api/runtime/ProcessInstanceVariableResourceTest.testProcess.bpmn20.xml" }) public void testGetProcessInstanceLocalDateTimeVariable() throws Exception { ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("oneTaskProcess"); LocalDateTime now = LocalDateTime.now(); LocalDateTime nowWithoutNanos = now.truncatedTo(ChronoUnit.MILLIS); runtimeService.setVariable(processInstance.getId(), "variable", now); CloseableHttpResponse response = executeRequest( new HttpGet( SERVER_URL_PREFIX + RestUrls.createRelativeResourceUrl(RestUrls.URL_PROCESS_INSTANCE_VARIABLE, processInstance.getId(), "variable")), HttpStatus.SC_OK); JsonNode responseNode = objectMapper.readTree(response.getEntity().getContent()); closeResponse(response); assertThat(responseNode).isNotNull(); assertThatJson(responseNode) .when(Option.IGNORING_EXTRA_FIELDS) .isEqualTo("{" + " name: 'variable'," + " type: 'localDateTime'," + " value: '" + nowWithoutNanos.toString() + "'" + "}"); }
Example 3
Source Project: teammates File: TimeHelper.java License: GNU General Public License v2.0 | 6 votes |
/** * Returns a copy of the {@link LocalDateTime} adjusted to be compatible with the format output by * {@link #parseDateTimeFromSessionsForm}, i.e. either the time is 23:59, or the minute is 0 and the hour is not 0. * The date time is first rounded to the nearest hour, then the special case 00:00 is handled. * @param ldt The {@link LocalDateTime} to be adjusted for compatibility. * @return a copy of {@code ldt} adjusted for compatibility, or null if {@code ldt} is null. * @see #parseDateTimeFromSessionsForm */ public static LocalDateTime adjustLocalDateTimeForSessionsFormInputs(LocalDateTime ldt) { if (ldt == null) { return null; } if (ldt.getMinute() == 0 && ldt.getHour() != 0 || ldt.getMinute() == 59 && ldt.getHour() == 23) { return ldt; } // Round to the nearest hour LocalDateTime rounded; LocalDateTime floor = ldt.truncatedTo(ChronoUnit.HOURS); LocalDateTime ceiling = floor.plusHours(1); Duration distanceToCeiling = Duration.between(ldt, ceiling); if (distanceToCeiling.compareTo(Duration.ofMinutes(30)) <= 0) { rounded = ceiling; } else { rounded = floor; } // Adjust 00:00 -> 23:59 if (rounded.getHour() == 0) { return rounded.minusMinutes(1); } return rounded; }
Example 4
Source Project: java-trader File: DateUtil.java License: Apache License 2.0 | 5 votes |
/** * 规整时间的秒 */ public static LocalDateTime round(LocalDateTime ldt) { int seconds = ldt.get(ChronoField.SECOND_OF_MINUTE); if (seconds >= 59) { ldt = ldt.plus(1, ChronoUnit.SECONDS); } return ldt.truncatedTo(ChronoUnit.SECONDS); }
Example 5
Source Project: doma File: StandardDialect.java License: Apache License 2.0 | 5 votes |
@Override public LocalDateTime roundDownTimePart(LocalDateTime localDateTime) { if (localDateTime == null) { return null; } return localDateTime.truncatedTo(ChronoUnit.DAYS); }
Example 6
Source Project: spring-data-mongodb-datatables File: Product.java License: Apache License 2.0 | 2 votes |
/** * Since JDK 9, LocalDateTime uses a precision of nanoseconds, while the BSON dates in MongoDB have a millisecond * precision, so we have to truncate it in order not to lose information. * * @see <a href="https://bugs.openjdk.java.net/browse/JDK-8068730">https://bugs.openjdk.java.net/browse/JDK-8068730</a> * @see <a href="http://bsonspec.org/spec.html">http://bsonspec.org/spec.html</a> */ private static LocalDateTime truncateToMillis(LocalDateTime dateTime) { return dateTime.truncatedTo(ChronoUnit.MILLIS); }
Example 7
Source Project: groovy File: DateTimeExtensions.java License: Apache License 2.0 | 2 votes |
/** * Returns a {@link java.time.LocalDateTime} with the time portion cleared. * * @param self a LocalDateTime * @return a LocalDateTime * @since 2.5.0 */ public static LocalDateTime clearTime(final LocalDateTime self) { return self.truncatedTo(DAYS); }