?? timeutil.java
字號:
public static String getYMDHMS(Calendar cld)
{
return getYMD(cld, true, '-') + " " + getHMS(cld, true, ':');
}
public static String getYMDHMS(String cld)
{
return getYMD(true, '-') + " " + getHMS(true, ':');
}
public static String getYMDHMS()
{
return getYMD(true) + getHMS(true);
}
/**
* 返回年月,中國方式
*/
public static String getYMChinese()
{
Calendar calendar = new GregorianCalendar();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1;
return fmtNum(year) + "年" + int2Chinese(month) + "月";
}
/**
* 返回年、月、日,中國方式
*/
public static String getYMDChinese()
{
Calendar calendar = new GregorianCalendar();
int day = calendar.get(Calendar.DAY_OF_MONTH);
String str = TimeUtil.getYMChinese();
return str + int2Chinese(day) + "日";
}
/**
* 將"2000-10-10"的形式換成中國形式,此程序有bug, bug
*/
public static String dateFormat(String str)
{
String out = "";
if (str == null || str.length() < 8)
return out;
String year = str.substring(0, 4);
String month = str.substring(5, 7);
String day = str.substring(8, 10);
out = year + "年" + Integer.parseInt(month) + "月"
+ Integer.parseInt(day) + "日";
return out;
}
/**
* 將"2000-1-10"的形式換成2000-01-10
*/
public static String changeDate(String str)
{
String out = "";
if (str == null || str.length() < 8)
return out;
String[] temp = str.split("-");
String year = temp[0];
String month = temp[1];
if (month.length() < 2)
{
month = "0" + month;
}
String day = temp[2];
out = year + "-" + month + "-" + day;
return out;
}
/**
* 將數字換成中文數字
*/
public static String int2Chinese(int num)
{
if (num > 31 || num < 0)
{
throw new IndexOutOfBoundsException("Input num: " + num
+ " must be smaller than 31 and bigger than 0");
}
String temp = "";
switch (num)
{
case 0:
temp = "○";
break;
case 1:
temp = "一";
break;
case 2:
temp = "二";
break;
case 3:
temp = "三";
break;
case 4:
temp = "四";
break;
case 5:
temp = "五";
break;
case 6:
temp = "六";
break;
case 7:
temp = "七";
break;
case 8:
temp = "八";
break;
case 9:
temp = "九";
break;
case 10:
temp = "○";
break;
case 11:
temp = "十一";
break;
case 12:
temp = "十二";
break;
case 13:
temp = "十三";
break;
case 14:
temp = "十四";
break;
case 15:
temp = "十五";
break;
case 16:
temp = "十六";
break;
case 17:
temp = "十七";
break;
case 18:
temp = "十八";
break;
case 19:
temp = "十九";
break;
case 20:
temp = "二十";
break;
case 21:
temp = "二十一";
break;
case 22:
temp = "二十二";
break;
case 23:
temp = "二十三";
break;
case 24:
temp = "二十四";
break;
case 25:
temp = "二十五";
break;
case 26:
temp = "二十六";
break;
case 27:
temp = "二十七";
break;
case 28:
temp = "二十八";
break;
case 29:
temp = "二十九";
break;
case 30:
temp = "三十";
break;
case 31:
temp = "三十一";
break;
}
return temp;
}
/**
* 將數字換成中國數字
*/
public static String fmtNumHor(int num)
{
String strNum = num + "";
String result = "";
for (int i = 0; i < strNum.length(); i++)
{
switch (strNum.charAt(i))
{
case '1':
result += "一<br>";
break;
case '2':
result += "二<br>";
break;
case '3':
result += "三<br>";
break;
case '4':
result += "四<br>";
break;
case '5':
result += "五<br>";
break;
case '6':
result += "六<br>";
break;
case '7':
result += "七<br>";
break;
case '8':
result += "八<br>";
break;
case '9':
result += "九<br>";
break;
case '0':
result += "○<br>";
break;
default:
break;
}
}
return result;
}
/**
* 將數字換成中國數字
*/
public static String fmtNum(int num)
{
String strNum = num + "";
String result = "";
for (int i = 0; i < strNum.length(); i++)
{
switch (strNum.charAt(i))
{
case '1':
result += "一";
break;
case '2':
result += "二";
break;
case '3':
result += "三";
break;
case '4':
result += "四";
break;
case '5':
result += "五";
break;
case '6':
result += "六";
break;
case '7':
result += "七";
break;
case '8':
result += "八";
break;
case '9':
result += "九";
break;
case '0':
result += "○";
break;
default:
break;
}
}
return result;
}
public static Date afterDay(Date date, int i)
{
return new Date(date.getTime() + (long) (i * 1000 * 24 * 60 * 60));
}
private static boolean isLeapYear(int i)
{
if (i % 100 == 0)
return i % 400 == 0;
return i % 4 == 0;
}
public static String afterMonth(String s, int i)
{
int ai[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
StringTokenizer stringtokenizer = new StringTokenizer(s, "-");
int j = 0;
int k = 0;
int l = 0;
if (stringtokenizer.hasMoreTokens())
{
j = Integer.parseInt(stringtokenizer.nextToken());
k = Integer.parseInt(stringtokenizer.nextToken());
l = Integer.parseInt(stringtokenizer.nextToken());
}
Assert.pl(j + "" + k + "" + l + "");
if (isLeapYear(j))
ai[1] = 29;
k += i % 12;
Assert.pl("months%12=" + i % 12);
j += i / 12;
if (k > 12)
{
k -= 12;
j++;
}
Assert.pl("month=" + k);
if (l > ai[k - 1])
l = ai[k - 1];
return j + "-" + k + "-" + l;
}
public static String beforAMonth(String s)
{
int ai[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
StringTokenizer stringtokenizer = new StringTokenizer(s, "-");
int i = 0;
int j = 0;
int k = 0;
if (stringtokenizer.hasMoreTokens())
{
i = Integer.parseInt(stringtokenizer.nextToken());
j = Integer.parseInt(stringtokenizer.nextToken());
k = Integer.parseInt(stringtokenizer.nextToken());
}
Assert.pl(i + "" + j + "" + k + "");
if (isLeapYear(i))
ai[1] = 29;
if (j == 1)
j = 12;
else
j--;
i--;
if (k > ai[j - 1])
k = ai[j - 1];
return i + "-" + j + "-" + k;
}
public static String getToday()
{
SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyy-M-d");
return simpledateformat.format(new java.util.Date());
}
/**
* Description 取得一個時間系統當前時間到一個時間str的分鐘數
* @param 時間str,格式為:2005-09-13 18:12:16
* @return minute 分鐘數
*/
public static int getIntervalTime(String str)
{
Calendar cd1 = string2Calendar(str);
Calendar cdNow = Calendar.getInstance();
return (int) ((cd1.getTimeInMillis() - cdNow.getTimeInMillis()) / 1000 / 60);
}
public static int getTotalTime(String str)
{
Calendar cd1 = string2Calendar(str);
Calendar cdNow = Calendar.getInstance();
return (int) (-(cd1.getTimeInMillis() - cdNow.getTimeInMillis()) / 1000 / 60);
}
public static Calendar string2Calendar(String str)
{
Calendar cd = Calendar.getInstance();
cd.set(Str.parseInt(str.substring(0, 4)), Str.parseInt(str.substring(5,
7)) - 1, Str.parseInt(str.substring(8, 10)), Str.parseInt(str
.substring(11, 13)), Str.parseInt(str.substring(14, 16)), Str
.parseInt(str.substring(17)));
return cd;
}
/**
* 根據開始時間str和一個分鐘數,計算結束時間
*
* @param str
* 開始時間 格式為:2005-09-13 18:12:16
* @param minute
* 分鐘數 如60
* @return strR 結束時間 2005-09-13 17:12:16
*/
public static String getEndTime(String str, int minute)
{
Calendar cd = Calendar.getInstance();
Calendar cdr = Calendar.getInstance();
cd = string2Calendar(str);
cdr.setTimeInMillis(cd.getTimeInMillis() + minute * 60 * 1000);
return getYMDHMS(cdr);
}
public static void main(String[] args)
{
System.out.println(getTotalTime("2005-11-13 09:59:16"));
System.out.println((float) 12 / 7);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -