java - 如何检查时间戳(纪元时间)是今天还是昨天[android]

标签 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;
}

并以这种方式使用它们:

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.

关于java - 如何检查时间戳(纪元时间)是今天还是昨天[android],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394906/

相关文章:

java - 下载旧版 VSCode 扩展(Java 调试器)

java - 我有 JAXB 类加载器泄漏吗

android - android API 10 中的网格布局支持

java - 如何测试我的 jradiomenubutton 是否是我想要的值

java - 无法加载 jar - "zip file is empty"

android为一层图层drawable设置边界

android - 我应该在什么上下文中使用 AlertDialog.Builder?

unix-timestamp - 将模运算符 (%) 与 unix 纪元时间戳一起使用是否安全?

python - 获取代表当前日期的纪元时间戳范围

c# - 你如何在 C# 中转换纪元时间?