|
发表于 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 欢迎各位加入养老服,长期更新,技术有保障,不断更新更多有趣的玩法。
|
|