Use*_*337 1 java android epoch
我想将时间戳(纪元时间)转换为人类可读的字符串.
为此,我使用calendar.setTimeInMillis(timeSinceEpoch)函数来创建日历对象并以人类可读的格式获取日期时间字符串.
我很困惑,我怎么能发现时间戳(纪元时间)是今天或昨天还是在系统当前日期和时间的同一周?
有什么API可以在android中实现吗?
谢谢.
你可以使用方法:
public static long diff(long time, int field) {
long fieldTime = getFieldInMillis(field);
Calendar cal = Calendar.getInstance();
long now = cal.getTimeInMillis();
return (time/fieldTime - now / fieldTime);
}
private static final long getFieldInMillis(int field) {
// TODO cache values
final Calendar cal = Calendar.getInstance();
long now = cal.getTimeInMillis();
cal.add(field, 1);
long after = cal.getTimeInMillis();
return after - now;
}
Run Code Online (Sandbox Code Playgroud)
并以这种方式使用它们:
diff(time, Calendar.DAY_OF_YEAR); // 0 - today, 1 - tomorrow, -1 - yesterday
diff(time, Calendar.WEEK_OF_YEAR); // 0 - this week, -1 - last week etc.
Run Code Online (Sandbox Code Playgroud)
它非常简单:
Calendar c=Calendar.getInstance();
c.getTimeInMillis();
String cur_day=String.format("%te %B %tY",c,c,c); // This will give date like 22 February 2012
c.setTimeInMillis(time);//set your saved timestamp
String that_day=String.format("%te %B %tY",c,c,c); //this will convert timestamp into format like 22 February 2012
//you can compare days,months,year,hours,minutes,seconds and milliseconds using above method.you can find various formats in below link
Run Code Online (Sandbox Code Playgroud)
有关更多格式,请参阅http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html