我需要知道在android开发中是否有类似时间跨度的东西?
在 C# 中有类似的东西,我喜欢以两种方式使用它:
- 生成一个时间跨度,然后添加例如分钟,然后显示整个跨度
- 生成两个 DateTime 之间的时间跨度(Android 中 DateTime 的等价物是什么?)
我需要知道在android开发中是否有类似时间跨度的东西?
在 C# 中有类似的东西,我喜欢以两种方式使用它:
public long addSeconds(long dt,int sec) //method to add seconds in time
{
Date Dt = new Date(dt);
Calendar cal = new GregorianCalendar();
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy HH:mm:ss");
sdf.setCalendar(cal);
cal.setTimeInMillis(Dt.getTime());
cal.add(Calendar.SECOND, sec);
return cal.getTime().getTime();
}
以秒为单位传递日期和时间,它将返回修改后的时间...
不幸的是,TimeSpan
Java 中还没有原生可用的类似类,但您可以通过几行代码来实现这一点。
Calendar startDate = getStartDate();
Calendar endDate = getEndDate();
long totalMillis = endDate.getTimeInMillis() - startDate.getTimeInMillis();
int seconds = (int) (totalMillis / 1000) % 60;
int minutes = ((int)(totalMillis / 1000) / 60) % 60;
int hours = (int)(totalMillis / 1000) / 3600;
Android有DateUtils,如果你给它正确的输入,方法“formatElapsedTime”可以满足你的需要。
您可以轻松获得以毫秒为单位的“TimeSpan”。要将毫秒转换为格式化的毫秒,您可以像这样在函数中进行一些快速而优雅的计算,
public static String GetFormattedTimeSpan(final long ms) {
long x = ms / 1000;
long seconds = x % 60;
x /= 60;
long minutes = x % 60;
x /= 60;
long hours = x % 24;
x /= 24;
long days = x;
return String.format("%d days %d hours %d minutes %d seconds", days, hours, minutes, seconds);
}
Java 中的日期很尴尬。看看https://github.com/dlew/joda-time-android