📄 timeformatter.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: TimeFormatter.java
package org.gudy.azureus2.core3.util;
import java.io.PrintStream;
import java.text.SimpleDateFormat;
import java.util.*;
// Referenced classes of package org.gudy.azureus2.core3.util:
// Debug, SystemTime
public class TimeFormatter
{
static final String TIME_SUFFIXES[] = {
"s", "m", "h", "d", "y"
};
public static final String DATEFORMATS_DESC[] = {
"EEEE, MMMM d, yyyy GG", "EEEE, MMMM d, yyyy", "EEE, MMMM d, yyyy", "MMMM d, ''yy", "EEE, MMM d, ''yy", "MMM d, yyyy", "MMM d, ''yy", "yyyy/MM/dd", "''yy/MM/dd", "MMM dd",
"MM/dd"
};
private static final SimpleDateFormat http_date_format;
public TimeFormatter()
{
}
public static String format(long time_secs)
{
if (time_secs == 0x1e13380L || time_secs >= 0x6cebb800L)
return "∞";
if (time_secs < 0L)
return "";
int vals[] = {
(int)time_secs % 60, (int)(time_secs / 60L) % 60, (int)(time_secs / 3600L) % 24, (int)(time_secs / 0x15180L) % 365, (int)(time_secs / 0x1e13380L)
};
int end;
for (end = vals.length - 1; vals[end] == 0 && end > 0; end--);
String result = (new StringBuilder()).append(vals[end]).append(TIME_SUFFIXES[end]).toString();
while (--end >= 0 && vals[end] == 0) ;
if (end >= 0)
result = (new StringBuilder()).append(result).append(" ").append(twoDigits(vals[end])).append(TIME_SUFFIXES[end]).toString();
return result;
}
public static String format100ths(long time_millis)
{
long time_secs = time_millis / 1000L;
int hundredths = (int)(time_millis - time_secs * 1000L) / 10;
if (time_millis == 0L || time_secs >= 60L)
return format(time_secs);
else
return (new StringBuilder()).append(time_secs).append(".").append(twoDigits(hundredths)).append(TIME_SUFFIXES[0]).toString();
}
public static String formatColon(long time)
{
if (time == 0x1e13380L || time >= 0x6cebb800L)
return "∞";
if (time < 0L)
return "";
int secs = (int)time % 60;
int mins = (int)(time / 60L) % 60;
int hours = (int)(time / 3600L) % 24;
int days = (int)(time / 0x15180L) % 365;
int years = (int)(time / 0x1e13380L);
String result = "";
if (years > 0)
result = (new StringBuilder()).append(result).append(years).append("y ").toString();
if (years > 0 || days > 0)
result = (new StringBuilder()).append(result).append(days).append("d ").toString();
result = (new StringBuilder()).append(result).append(twoDigits(hours)).append(":").append(twoDigits(mins)).append(":").append(twoDigits(secs)).toString();
return result;
}
private static String twoDigits(int i)
{
return i >= 10 ? String.valueOf(i) : (new StringBuilder()).append("0").append(i).toString();
}
public static int parseColon(String str)
{
int multipliers[] = {
1, 60, 3600, 0x15180, 0x1e13380
};
String bits[] = str.split(":");
int result = 0;
for (int i = 0; i < bits.length; i++)
{
String bit = bits[bits.length - (i + 1)].trim();
if (bit.length() > 0)
result += multipliers[i] * Integer.parseInt(bit);
}
return result;
}
public static String formatNanoAsMilli(long nanos)
{
long truncator = 0xdf8475800L;
nanos -= (nanos / 0xdf8475800L) * 0xdf8475800L;
return (new StringBuilder()).append(String.valueOf((double)nanos / 1000000D)).append(" ms").toString();
}
public static String getHTTPDate(long millis)
{
SimpleDateFormat simpledateformat = http_date_format;
JVM INSTR monitorenter ;
return http_date_format.format(new Date(millis));
Exception exception;
exception;
throw exception;
}
public static long parseHTTPDate(String date)
{
return http_date_format.parse(date).getTime();
Throwable e;
e;
Debug.out((new StringBuilder()).append("Failed to parse HTTP date '").append(date).append("'").toString());
return 0L;
}
public static String milliStamp()
{
long nanos = SystemTime.getHighPrecisionCounter();
long truncator = 0xdf8475800L;
nanos -= (nanos / 0xdf8475800L) * 0xdf8475800L;
String str;
for (str = String.valueOf(nanos / 0xf4240L); str.length() < 5; str = (new StringBuilder()).append("0").append(str).toString());
return (new StringBuilder()).append(str).append(": ").toString();
}
public static void milliTrace(String str)
{
System.out.println((new StringBuilder()).append(milliStamp()).append(str).toString());
}
static
{
http_date_format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US);
http_date_format.setTimeZone(TimeZone.getTimeZone("GMT"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -