首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将微秒时间转换为毫秒时间

问将微秒时间转换为毫秒时间
EN

Stack Overflow用户
提问于 2017-01-24 16:31:26
回答 2查看 5.3K关注 0票数 2

我收到了一个GPS接收机的时间戳,它在几秒钟后以微秒表示:

代码语言:javascript
复制
00:12:34.567891

Java 7及以下版本只使用毫秒时间,所以我可以拆分字符串并将微秒部分解析为毫秒,但这似乎很荒谬。

Java 8的操作精度为纳秒级,但是如果我使用的是模式为“DateTimeFormatter”的HH:mm:ss.nnnnnn,那么后面的部分会是“。从纳秒的角度考虑?

本质上,我如何拿出我的微秒时间戳,并将它转换成毫秒的总数。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-24 16:35:37

这可以帮助您,在默认情况下,因为Java7

代码语言:javascript
复制
TimeUnit.NANOSECONDS.convert(567891, TimeUnit.MILLISECONDS);

仔细给出所分析的时间作为参数。

票数 7
EN

Stack Overflow用户

发布于 2018-01-09 05:12:48

tl;dr

代码语言:javascript
复制
Duration.between( 
    LocalTime.MIN , 
    LocalTime.parse( "00:12:34.567891" )   
).toMillis()

看这个在IdeOne.com现场运行的代码。

754567

java.time

您的输入似乎不是GPS时间戳。您应该确定并记录对数据源的解释。

“时间戳”一词通常是指时间轴上的一个点,一个日期加一天的时间加时区(或与UTC相抵)。相反,您的00:12:34.567891似乎是一段时间,特别是12分钟、34秒和大约半秒(0.567891秒)。

假设输入长度不超过24小时,我建议解析为LocalTime对象。

代码语言:javascript
复制
String input = "00:12:34.567891" ;
LocalTime lt = LocalTime.parse( input );

将时间跨度表示为Duration。

代码语言:javascript
复制
Duration d = Duration.between( LocalTime.MIN , lt ) ;

生成一个字符串,以标准ISO 8601格式表示此标准ISO 8601的值。在这种格式的PnYnMnDTnHnMnS中,P标志着开始,T将任意年份-月-天部分与任何小时-分钟-秒部分分隔开来。

代码语言:javascript
复制
PT12M34.567891S

顺便说一下,对于序列化时间跨度值来说,输入字符串值是一个糟糕的格式选择。尽可能使用标准ISO 8601格式。

作为毫秒的计算,您似乎要求这整个时间跨度。请注意,这意味着数据丢失,因为任何微秒或纳秒在一秒钟的分数被截断为毫秒。

代码语言:javascript
复制
long millis = d.toMillis() ;  // Consider entire span of time as milliseconds.

看这个在IdeOne.com现场运行的代码。

754567

关于java.time

java.time框架内置到Java8和更高版本中。这些类取代了麻烦的旧遗赠日期时间类,如java.util.Date、Calendar和SimpleDateFormat。

尤达-时间项目现在在维护模式中,建议迁移到java.time类。

要了解更多信息,请参见Oracle教程。并搜索堆栈溢出以获得许多示例和解释。规范是JSR 310。

在哪里获得java.time类?

  • Java 8,Java 9,以及后来的
    • 内置的。
    • 带有捆绑实现的标准Java的一部分。
    • Java 9添加了一些次要的特性和修复。

​

​

​

三次-额外项目使用其他类扩展java.time。这个项目是将来可能加入java.time的试验场。您可以在这里找到一些有用的类,如Interval、YearWeek、YearQuarter和更多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41833428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档