java - 想要通过 joda 获取两个不同时区的两个 ISO 8601 时间之间的分钟数

标签 java android jodatime iso8601

我有两个来自 Android 应用程序的 ISO 8601 格式的字符串,我试图找到两个时间之间的分钟数。有人向我推荐了 Joda Time,它非常有帮助。然而我现在发现一个字符串是 UTC 时间,另一个是我的本地时间。

例如 “2012-05-11T02:34:18+00:00”是 UTC 并且 “2012-05-10T21:44:09-05:00”是我的本地时间

我有以下代码块,它可以查找两个时间之间的分钟数。我的问题是如何将 UTC 时间更改为本地时间以获得准确的分钟数

DateTime start = new DateTime(currentTime);
DateTime end = new DateTime(laterTime);
int min = Minutes.minutesBetween(start,end).getMinutes();

最佳答案

How do I go about to change the UTC time to my local time in order to get an accurate minutes in between?

我的理解是你不需要。

DateTime 实例表示时间线上的一个点,以及控制时间点如何映射到时间范围的时区(例如,当您调用 getter 时)。当您计算一对 DateTime 实例之间的时间差时,您会得到一个表示时间轴上两点之间的持续时间的度量。这与时区无关。

换句话说,假设两个 DateTime 实例已正确创建,您的代码应该按原样运行。

关于java - 想要通过 joda 获取两个不同时区的两个 ISO 8601 时间之间的分钟数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544815/

相关文章:

java - 如何在 Spring mvc Controller 中设置默认处理程序方法?

java - Android从xlsx读取数据

java - 按钮点击监听器

android - Flutter/Dart - 我的 AndroidManifest.xml 中的这些红色字母是什么意思?他们是错误吗?

android - 如何以编程方式设置按钮的参数

java - 将包含 JodaTime 对象的自定义对象序列化为 JSON

datetime - 使用埃塞俄比亚年表格式化 Joda Time 不显示月份名称

java - 试图让 Spring SecurityConfig 与 Spring MVC 和 JavaConfig 一起工作

java - RecvFrom() 返回大于发送方 NIC MTU 的数据包

java - 从 java.util.TimeZone 转换为 org.joda.DateTimeZone