2025-04-14 13:39:46 +08:00

67 lines
1.9 KiB
Java

package com.viontv.app.utils;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.TimeZone;
public class TimeUtils {
public static String getCurrentTimeZone() {
return createGmtOffsetString(true, true, TimeZone.getDefault().getRawOffset());
}
public static String createGmtOffsetString(boolean includeGmt, boolean includeMinuteSeparatori, int offsetMillis) {
int offsetMinutes = offsetMillis / 60000;
char sign = '+';
if (offsetMinutes < 0) {
sign = '-';
offsetMinutes = -offsetMinutes;
}
StringBuilder builder = new StringBuilder(9);
if (includeGmt) {
builder.append("GMT");
}
builder.append(sign);
appendNumber(builder, 2, offsetMinutes / 60);
return builder.toString();
}
public static void appendNumber(StringBuilder builder, int count, int value) {
String string = Integer.toString(value);
int diff = count - string.length();
for (int i = 0; i < diff; i++) {
builder.append('0');
}
builder.append(string);
}
public static String transToString(Long time) {
Date date = new Date(time * 1000);
return new SimpleDateFormat("yyyy-MM-dd").format(date);
}
public static String formatNumber(int num) {
if (num >= 1000000) {
return formatDouble(num / 1000000, 1) + "m";
}
if (num >= 1000) {
return formatDouble(num / 1000, 1) + "k";
}
return String.valueOf(num);
}
private static String formatDouble(double value, int digits) {
StringBuilder pattern = new StringBuilder("#.");
for (int i = 0; i < digits; i++) {
pattern.append("#");
}
DecimalFormat df = new DecimalFormat(pattern.toString());
return df.format(value);
}
}