TimeHelper
2024-09-06 23:04:43
import java.time.Duration;
import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DurationFormatUtils; @Slf4j
public class TimeHelper { public static final DateTimeFormatter FORMATTER =
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS[XXX][X]"); public static Instant parseTimeStamp(String timeStamp) {
return OffsetDateTime.parse(timeStamp, FORMATTER).toInstant();
} public static String getDuration(String startTimeStamp, String endTimeStamp) {
String duration = "";
try {
duration =
DurationFormatUtils.formatDurationWords(
Duration.between(parseTimeStamp(startTimeStamp), parseTimeStamp(endTimeStamp))
.toMillis(),
true,
true);
} catch (NullPointerException | DateTimeParseException e) {
log.error(e.getMessage(), e);
}
return duration;
}
}
import java.time.Instant;
import java.time.LocalDate;
import java.time.ZoneOffset;
import java.time.format.DateTimeFormatter;
import java.util.Optional;
import java.util.Set; private static final DateTimeFormatter VALUATION_TIMESTAMP_PARSER =
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[.SSS][xxx][xx][X]"); private Instant getTimeStampAsInstant(String timeStamp) {
return Optional.ofNullable(timeStamp)
.map(VALUATION_TIMESTAMP_PARSER::parse)
.map(Instant::from)
.orElse(null);
}
import com.fasterxml.jackson.annotation.JsonFormat;
import java.time.Instant; @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS[xxx][xx][X]")
private Instant valuationTimeStamp;
private static final DateTimeFormatter VALUATION_TIMESTAMP_PARSER =
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss[.SSS][xxx][xx][X]");
import java.time.Duration;
import java.time.Instant;
import java.time.OffsetDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DurationFormatUtils; @Slf4j
public class TimeHelper { public static final DateTimeFormatter FORMATTER =
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS[XXX][X]"); public static Instant parseTimeStamp(String timeStamp) {
return OffsetDateTime.parse(timeStamp, FORMATTER).toInstant();
} public static String getDuration(String startTimeStamp, String endTimeStamp) {
String duration = "";
try {
duration =
DurationFormatUtils.formatDuration(
(Duration.between(parseTimeStamp(startTimeStamp), parseTimeStamp(endTimeStamp))
.toMillis()),
"d'd' HH'h' mm'm' ss's'");
} catch (NullPointerException | DateTimeParseException e) {
log.error(e.getMessage(), e);
}
return duration;
}
}
最新文章
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
- 继承 原生js 与 $.extend(true,default,opts||{});
- MVC3.0学习笔记之元模型元数据ModelMetaData以及模型元数据提供系统
- 洛谷P1134 阶乘问题
- 也谈谈 Redis 和 Memcached 的区别
- fread 和 fwrite 函数用法示例以及注意事项
- Android的NDK开发(4)————JNI数据结构之JNINativeMethod
- ssh-copy-id password
- XCode模拟器屏幕显示内容非常慢
- [转] Console命令详解,让调试js代码变得更简单
- SpringMVC 返回字符串
- jquery的extend和fn.extend
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
- mongoDB身份验证
- python之反射和内置函数__str__、__repr__
- apache开启重写模式
- SpringBoot一站式启动流程源码分析
- 如何以SYSTEM用户运行CMD
- requests 请求几个接口 出现’您的账户在其它设备使用过,为保障安全,需重新登入才能在本设备使用‘
- Django使用Signals监测model字段变化发送通知