gpt4 book ai didi

java - 在 Java 中将以毫秒为单位的日期转换为今天、昨天、过去 7 天、过去 30 天

转载 作者:搜寻专家 更新时间:2023-11-01 01:36:19 26 4
gpt4 key购买 nike

我有一些文档,它的创建时间以毫秒为单位。我需要将它们分为今天、昨天、过去 7 天、过去 30 天、超过 30 天。

我使用了以下代码:convertSimpleDayFormat(1347022979786);

public static String convertSimpleDayFormat(Long val) {


long displayTime = System.currentTimeMillis() - val;
displayTime = displayTime/86400000;
String displayTimeVal = "";
if(displayTime <1)
{
displayTimeVal = "today";
}
else if(displayTime<2)
{
displayTimeVal = "yesterday";
}
else if(displayTime<7)
{
displayTimeVal = "last7days";
}
else if(displayTime<30)
{
displayTimeVal = "last30days";
}
else
{
displayTimeVal = "morethan30days";
}
return displayTimeVal;
}

我正在减去当前时间并传递毫秒并转换为一天。

但我面临的问题是,我无法计算日期的准确时间(以毫秒为单位)。

我想将今天计算为:从午夜 00:00 到午夜 24:00。 (正好 24 小时。)

同样,我想将毫秒精确地转换为今天、昨天、过去 7 天、过去 30 天和超过 30 天。

最佳答案

private static Calendar clearTimes(Calendar c) {
c.set(Calendar.HOUR_OF_DAY,0);
c.set(Calendar.MINUTE,0);
c.set(Calendar.SECOND,0);
c.set(Calendar.MILLISECOND,0);
return c;
}

public static String convertSimpleDayFormat(long val) {
Calendar today=Calendar.getInstance();
today=clearTimes(today);

Calendar yesterday=Calendar.getInstance();
yesterday.add(Calendar.DAY_OF_YEAR,-1);
yesterday=clearTimes(yesterday);

Calendar last7days=Calendar.getInstance();
last7days.add(Calendar.DAY_OF_YEAR,-7);
last7days=clearTimes(last7days);

Calendar last30days=Calendar.getInstance();
last30days.add(Calendar.DAY_OF_YEAR,-30);
last30days=clearTimes(last30days);


if(val >today.getTimeInMillis())
{
return "today";
}
else if(val>yesterday.getTimeInMillis())
{
return "yesterday";
}
else if(val>last7days.getTimeInMillis())
{
return "last7days";
}
else if(val>last30days.getTimeInMillis())
{
return "last30days";
}
else
{
return "morethan30days";
}
}

关于java - 在 Java 中将以毫秒为单位的日期转换为今天、昨天、过去 7 天、过去 30 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12346198/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com