【Java】 秒转时分秒天

总有时候会有些需求, 需要用到秒, 比如 JedisCluster 设置过期时间

现在有一个需求是 : 查询接口的缓存设置有效期为:1天+随机时间

基本可以按以下来做:

package com.lwc.demo;

import java.util.Random;

/**
 * @author eddie.lee
 * @Package com.lwc.demo
 * @ClassName RandomTest
 * @description 一天的秒数, 变换一天的秒的随机数,转换为一天的时分秒
 * @date created in 2018-04-19 11:00
 * @modified by
 */
public class RandomUtils {

    /**
     * random min vaule
     */
	private static int MIX = 1;
    /**
     * 86400s = 1d
     */
	private static int MAX = 86400;

	/**
	 * 一天内的随机秒数
	 */
	private static void randomMain() {
		Random random = new Random();

		int randomDay = random.nextInt(MAX) % (MAX - MIX + 1) + MIX;
		System.out.println("一天秒的随机数: " + randomDay);

		int seconds = randomDay;
		int d = seconds / (60 * 60 * 24);
		int h = (seconds - (60 * 60 * 24 * d)) / 3600;
		int m = (seconds - 60 * 60 * 24 * d - 3600 * h) / 60;
		int s = seconds - 60 * 60 * 24 * d - 3600 * h - 60 * m;
		System.out.println(seconds + " = " + d + "天" + h + "时" + m + "分" + s + "秒");

	}

	public static void main(String[] args) {
		RandomTest.randomMain();
	}

}

 

Print:

一天秒的随机数: 30317
30317 = 0天8时25分17秒

作者:Eddie.Lee
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2018-04-19 13:39  Eddie.Lee  阅读(1550)  评论(0编辑  收藏  举报