Sup*_*ale 2 java math datetime android date
我有一个功能:
public String getTimePast(Date d) {
//insertcodehere
}
Run Code Online (Sandbox Code Playgroud)
它接受消息的日期,并且必须根据当前时间以特定格式返回已经过去的时间。例如,如果刚刚发布,则会显示“现在”
如果已经过去 4 分钟,则会显示“4 分钟” 如果已经过去 23 小时,则会显示“23 小时”等等
以下是我尝试做的方法,但没有成功!我怎样才能做到这一点?谢谢你!
public String getTimePast(Date d) {
Calendar c = Calendar.getInstance();
int hr = c.get(Calendar.HOUR_OF_DAY);
int min = c.get(Calendar.MINUTE);
int day = c.get(Calendar.DAY_OF_MONTH);
int month = c.get(Calendar.MONTH);
int year = c.get(Calendar.YEAR);
if (year == d.getYear()) {
if (month == d.getMonth()) {
if (day == d.getDay()) {
if (hr == d.getHours()) {
if (min == d.getMinutes()) {
return "Now";
} else {
return min - d.getMinutes() + "m";
}
} else {
return hr - d.getHours() + "hr";
}
} else {
return day - d.getDay() + "d";
}
} else {
return month - d.getMonth() + "m";
}
} else {
return year - d.getYear() + "y";
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用另一个日历对象来简单地找出差异
Calendar now = Calendar.getInstance();
Calendar start = Calendar.getInstance();
start.setTime (d);
long milliseconds1 = start.getTimeInMillis();
long milliseconds2 = now.getTimeInMillis();
long diff = milliseconds2 - milliseconds1;
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);
long diffDays = diff / (24 * 60 * 60 * 1000);
System.out.println("\nThe Date Different Example");
System.out.println("Time in milliseconds: " + diff
+ " milliseconds.");
System.out.println("Time in seconds: " + diffSeconds
+ " seconds.");
System.out.println("Time in minutes: " + diffMinutes
+ " minutes.");
System.out.println("Time in hours: " + diffHours
+ " hours.");
System.out.println("Time in days: " + diffDays
+ " days.");
}
Run Code Online (Sandbox Code Playgroud)
请参阅http://www.roseindia.net/java/beginners/DateDifferent.shtml
| 归档时间: |
|
| 查看次数: |
2881 次 |
| 最近记录: |