public static String relTime(LocalDateTime now)
{
// accepted answer converted to Java
const int min = 60 * SECOND;
const int hour = 60 * MINUTE;
const int day = 24 * HOUR;
const int mon = 30 * DAY;
// still don't know how to convert this method
var ts = new TimeSpan(DateTime.UtcNow.Ticks - yourDate.Ticks);
double delta = Math.Abs(ts.TotalSeconds);
if (delta < 1 * MINUTE)
return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";
if (delta < 2 * MINUTE)
return "a minute ago";
if (delta < 45 * MINUTE)
return ts.Minutes + " minutes ago";
if (delta < 90 * MINUTE)
return "an hour ago";
if (delta < 24 * HOUR)
return ts.Hours + " hours ago";
if (delta < 48 * HOUR)
return "yesterday";
if (delta < 30 * DAY)
return ts.Days + " days ago";
if (delta < 12 * MONTH)
{
int months = Convert.ToInt32(Math.Floor((double)ts.Days / 30));
return months <= 1 ? "one month ago" : months + " months ago";
}
else
{
int years = Convert.ToInt32(Math.Floor((double)ts.Days / 365));
return years <= 1 ? "one year ago" : years + " years ago";
}
}
虽然我从Stack Overflow查找timespan
和ticks
的等价物中读到了两个问题,但我对如何正确转换代码行有任何想法。此外,我必须获得一个double
,它将需要math.abs()
来获得totalseconds
,我也找不到正确的方法来处理它,但是我确实找到了zoneoffset.oftotalseconds
并且仍然不知道如何处理它。
那么我该如何正确地转换它呢?
var ts = new TimeSpan(DateTime.UtcNow.Ticks - yourDate.Ticks);
double delta = Math.Abs(ts.TotalSeconds);
您需要更深入地了解这种方法的实际作用。将代码从C#直接翻译成Java不会给您提供一个好的解决方案,而且会使您陷入特定于语言的细节。
这两行基本上计算时间戳
与当前时间的(绝对)秒差。这可以用Java编写,如下所示:
Duration duration = Duration.between(LocalDateTime.now(), timestamp);
long delta = duration.abs().getSeconds();
我只是回答你的实际问题,如何转换这两条线。提供的代码段不是有效的Java代码,并且缺少某些部分。delta
是以秒为单位的差异,它不一定需要是双倍的。传递给方法的参数的名称不应该是now
,因为这是要与方法中的当前时间进行比较的时间戳。
问题内容: 我想花两次(从纪元以来的秒数),并以如下格式显示两者之间的差异: - 2 minutes - 1 hour, 15 minutes - 3 hours, 9 minutes - 1 minute ago - 1 hour, 2 minutes ago 我该怎么做? 问题答案: 你也可以使用进行此操作。使用代表一个时期。要格式化所需的人表示期间,利用它你可以建立。 这是一个启动示例: 更
null null T(n)=O(1)+O(nlogn)=O(nlogn) 但我不确定。有人能帮帮我吗。
我知道嵌套for循环的时间复杂度等于最里面的循环执行的次数。 像外部循环从1到n的每个嵌套循环一样,它应该运行n次,但这里我们有,这使得算法运行的顺序更好。实际上,我在IDE中编写了这段代码,并在循环结束后打印了x的最终结果,对于不同的n值,我看到跳入内部for循环需要将近n倍的时间。 所以我认为这个算法的整个顺序是,但我不确定
本文向大家介绍php时间计算相关问题小结,包括了php时间计算相关问题小结的使用技巧和注意事项,需要的朋友参考一下 本文实例总结了php时间计算相关问题。分享给大家供大家参考,具体如下: 1. php获取三个月前的日期 2. 计算日期30天后 可以用strtotime PHP提供了一个超级简单的方式来完成本来要几十行代码的工作。 先把某日期转换成UNIX时间戳 3. 转换2日期的时间戳...然后相
我正在尝试使用下面的代码转换当前的UTC时间(来自我的Linux服务器的时间)。 当我执行代码时,我得到以下异常: 我看到正确提取的UTC时间为:05-11-2018 12:55:28,但代码无法将字符串解析为IST(印度标准时间)。我不明白怎样才能解决这个问题。谁能让我知道我在这里犯的错误是什么,我该如何解决它?
我正在尝试分析一个算法的时间复杂度。 下面的算法旨在只检查数组的一部分,所以如果它没有多大意义,请不要担心。 我对计算循环周围的时间复杂度很困惑,请看看我的评论。 这是否意味着我们有: T(N) = (C2 C4 C5)N (C1 C3 C6) T(N) = C7*N (C8) T(N)=N?? 循环中的所有内容都是*N? 先谢谢!