所以我有一个时间戳,例如这个=1570312800 源还以字符串格式提供了开始时间和结束时间,所以假设基本上是从 18:00 到 01:00(下午 6 点到凌晨 1 点) 我想计算两个字符串(5 小时)之间的差异,将其转换为毫秒并将其添加到时间戳中。 让我陷入麻烦的是从 STRING 到 MILLISECONDS 的转换。
哪一种是最干净的方式?
示例代码:
Calendar c1 = Calendar.getInstance(android.icu.util.TimeZone.getTimeZone("UTC"));
Calendar c2 = Calendar.getInstance(android.icu.util.TimeZone.getTimeZone("UTC"));
SimpleDateFormat sdf = new SimpleDateFormat("HHmm");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
try
{
c1.setTime(sdf.parse("20:00"));
c2.setTime(sdf.parse("1:00"));
}
catch (ParseException e)
{
e.printStackTrace();
}
Log.d("TIME DIFFERENCE", String.valueOf(c2.getTimeInMillis()-c1.getTimeInMillis()));
最佳答案
解决此问题的一种方法是将字符串解析为 SimpleDateFormat
,如下所示:
Calendar c1 = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
c1.setTime(sdf.parse("20:00"));
System.out.println(c1.getTimeInMillis());
关于java - Android:从两个字符串计算事件的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56890157/