查看: 492|回复: 8

来点干货,懂的自取,不懂的和高手绕道

[复制链接]

22

主题

123

帖子

530

积分

高级会员

Rank: 4

积分
530
发表于 2023-4-19 04:28:30 | 显示全部楼层 |阅读模式

  1.     private static final String _time = "yyyy-MM-dd HH-mm-ss";
  2.     /** 一天的秒数 */
  3.     private static final int _day = 24 * 60 * 60;


  4.     /**
  5.      * 秒数转换成 小时 + 分钟 + 秒
  6.      *
  7.      * @param seconds 秒
  8.      * @return x小时 x分钟 x秒
  9.      */
  10.     public static String secondsToTime(int seconds) {
  11.         int h = seconds / 3600; // 小时
  12.         int m = (seconds % 3600) / 60; // 分钟
  13.         int s = (seconds % 3600) % 60; // 秒

  14.         String hh = h > 0 ? (h + "时") : "";
  15.         String mm = m > 0 ? (m + "分") : "";
  16.         String ss = s > 0 ? (s + "秒") : "";

  17.         return hh + mm + ss;
  18.     }

  19.     /**
  20.      * 将数字以 x亿 x万 x 的形式显示<br>
  21.      * x 值为 0 时不显示
  22.      * @param num 数字
  23.      * @return x亿x万x
  24.      */
  25.     public static String tenThousands(long num) {
  26.         int m = (int) (num / 100000000); // 亿
  27.         int t = (int) ((num % 100000000) / 10000); //万
  28.         int k = (int) (num % 10000); //千

  29.         String ms = m > 0 ? (m + "亿") : "";
  30.         String ts = t > 0 ? (t + "万") : "";
  31.         String ks = k > 0 ? (k + "") : "";

  32.         return ms + ts + ks;
  33.     }

  34.     /**
  35.      * 指定日期开启距今时间<br>
  36.      * 可将时间设为指定 lastTime(String date) 类型随时调用
  37.      * @return 2023-04-07 19-00-00
  38.      * @throws ParseException throws
  39.      */
  40.     public static String lastTime() throws ParseException {

  41.         String date = "2023-04-07 19-00-00";
  42.         SimpleDateFormat simpleDateFormat = new SimpleDateFormat(_time); //24小时制
  43.         long last = simpleDateFormat.parse(date).getTime();
  44.         long now = System.currentTimeMillis();

  45.         long lastTime = (now - last) / 1000L; // 秒数
  46.         String day = lastTime / _day + "天";

  47.         return day + secondsToTime((int) (lastTime % _day));
  48.     }
复制代码
很实用的东西,再附上debug参数,随时查看自己写的是不是想要的结果

  1.     public static void main(String[] args) throws ParseException {
  2. // double d = 12345.67890; // 这是写小数点保留所用的debug数据
  3.         int t = 25678;
  4.         int i = 2047073560;
  5.         System.out.println(secondsToTime(t));
  6.         System.out.println(tenThousands(i));
  7.         System.out.println(lastTime());
  8.     }
复制代码
懂的自取,高手别吱声,不懂的绕道吧。

顺便广告一下:圣子默默的个人空间_哔哩哔哩_bilibili 欢迎各位加入养老服,长期更新,技术有保障,不断更新更多有趣的玩法。
回复

使用道具 举报

1

主题

11

帖子

12

积分

注册会员

Rank: 2

积分
12
发表于 2023-4-19 09:44:30 | 显示全部楼层
似懂非懂


可運用的地方真多
回复 支持 反对

使用道具 举报

0

主题

228

帖子

1394

积分

金牌会员

Rank: 6Rank: 6

积分
1394
发表于 2023-4-29 13:04:14 | 显示全部楼层
666666666666666666666
回复 支持 反对

使用道具 举报

2

主题

56

帖子

89

积分

注册会员

Rank: 2

积分
89
发表于 2023-6-9 11:54:52 | 显示全部楼层


谢谢,好人一生平安
回复 支持 反对

使用道具 举报

3

主题

136

帖子

136

积分

中级会员

Rank: 3Rank: 3

积分
136
发表于 2023-9-1 22:33:29 | 显示全部楼层
感谢分享~~~
回复

使用道具 举报

1

主题

110

帖子

905

积分

高级会员

Rank: 4

积分
905
发表于 2023-9-12 21:00:54 | 显示全部楼层
5555555555555555
回复 支持 反对

使用道具 举报

0

主题

109

帖子

114

积分

中级会员

Rank: 3Rank: 3

积分
114
发表于 2024-1-23 17:29:57 | 显示全部楼层
谢谢大鹅的干货 。
MARK一下
private static final String _time = "yyyy-MM-dd HH-mm-ss";
    /** 一天的秒数 */
    private static final int _day = 24 * 60 * 60;


    /**
     * 秒数转换成 小时 + 分钟 + 秒
     *
     * @param seconds 秒
     * @return x小时 x分钟 x秒
     */
    public static String secondsToTime(int seconds) {
        int h = seconds / 3600; // 小时
        int m = (seconds % 3600) / 60; // 分钟
        int s = (seconds % 3600) % 60; // 秒

        String hh = h > 0 ? (h + "时") : "";
        String mm = m > 0 ? (m + "分") : "";
        String ss = s > 0 ? (s + "秒") : "";

        return hh + mm + ss;
    }

    /**
     * 将数字以 x亿 x万 x 的形式显示<br>
     * x 值为 0 时不显示
     * @param num 数字
     * @return x亿x万x
     */
    public static String tenThousands(long num) {
        int m = (int) (num / 100000000); // 亿
        int t = (int) ((num % 100000000) / 10000); //万
        int k = (int) (num % 10000); //千

        String ms = m > 0 ? (m + "亿") : "";
        String ts = t > 0 ? (t + "万") : "";
        String ks = k > 0 ? (k + "") : "";

        return ms + ts + ks;
    }

    /**
     * 指定日期开启距今时间<br>
     * 可将时间设为指定 lastTime(String date) 类型随时调用
     * @return 2023-04-07 19-00-00
     * @throws ParseException throws
     */
    public static String lastTime() throws ParseException {

        String date = "2023-04-07 19-00-00";
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(_time); //24小时制
        long last = simpleDateFormat.parse(date).getTime();
        long now = System.currentTimeMillis();

        long lastTime = (now - last) / 1000L; // 秒数
        String day = lastTime / _day + "天";

        return day + secondsToTime((int) (lastTime % _day));
    }
复制代码
很实用的东西,再附上debug参数,随时查看自己写的是不是想要的结果

    public static void main(String[] args) throws ParseException {
// double d = 12345.67890; // 这是写小数点保留所用的debug数据
        int t = 25678;
        int i = 2047073560;
        System.out.println(secondsToTime(t));
        System.out.println(tenThousands(i));
        System.out.println(lastTime());
    }
复制代码
懂的自取,高手别吱声,不懂的绕道吧。

顺便广告一下:圣子默默的个人空间_哔哩哔哩_bilibili 欢迎各位加入养老服,长期更新,技术有保障,不断更新更多有趣的玩法。
回复 支持 反对

使用道具 举报

3

主题

66

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2024-3-20 22:05:05 | 显示全部楼层
蟹蟹大大無司的分享 好东西 谢谢
回复 支持 反对

使用道具 举报

1

主题

18

帖子

21

积分

注册会员

Rank: 2

积分
21
发表于 4 天前 | 显示全部楼层
不懂 但是感觉很牛逼
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表