- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
解决这个问题的好方法是什么?我希望一天中随机显示一条消息 5 次。我目前使用以下方法来生成时间戳:
List<Long> timestamps = new ArrayList<Long>();
long currentTimestamp = (long) (System.currentTimeMillis() / 1000L);
long endTimestamp = addHoursToTimestamp(8, currentTimestamp);
int n_timestamps = 5;
for (int i = 0; i < n_timestamps; i++) {
Long randomTime = currentTimestamp + Math.abs(new Random().nextLong()) % (endTimestamp-currentTimestamp);
timestamps.add(randomTime);
}
有时这很有效,并且我可以很好地分散时间戳。当然,正如您可以想象的那样,有时时间戳非常接近,例如在本例中,第 11 小时有 3 个时间戳(时间跨度为 11:00-19:00):
1435483835 Sun Jun 28 11:30:35 CEST 2015
1435501808 Sun Jun 28 16:30:08 CEST 2015
1435484646 Sun Jun 28 11:44:06 CEST 2015
1435495886 Sun Jun 28 14:51:26 CEST 2015
1435483799 Sun Jun 28 11:29:59 CEST 2015
这并不理想,因为我希望时间戳分散一点。为了解决这个问题,我创建了一个函数,它循环遍历已添加到数组中的所有时间戳,并检查生成的时间戳是否比每个时间戳晚或早至少一个小时。
但是,我不知道这是否是首选方法。看起来计算量相当大。
最佳答案
我会为每个均匀间隔的时间段生成一个随机时间,如下所示:
List<Long> timestamps = new ArrayList<Long>();
long currentTimestamp = (long) (System.currentTimeMillis() / 1000L);
int hourRange = 8;
int n_timestamps = 5;
double timePeriod = hourRange / (n_timestamps + 0.0);
Random rand = new Random();
for (int i = 0; i < n_timestamps; i++) {
long startTimestamp = addHoursToTimestamp(i, currentTimestamp);
long endTimestamp = addHoursToTimestamp(timePeriod, startTimestamp);
Long randomTime = startTimestamp + Math.abs(rand.nextLong()) % (endTimestamp-startTimestamp);
timestamps.add(randomTime);
}
因此,对于 8 小时的时间段,将为 1 小时 36 分的 5 个时间段中的每一个时间段生成一个随机时间。
只需确保 addHoursToTimeStamp()
可以接受 double
值。
关于java - 在Java中获取一天中的随机时间戳数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31098124/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!