⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gsdate.java

📁 一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。
💻 JAVA
字号:
package jp.co.sjts.gsession.tools;

import java.util.Calendar;
import java.util.SimpleTimeZone;
import java.util.Date;
import java.util.Locale;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.io.Serializable;

/**
 * <p>擔晅娗棟僋儔僗
 *
 * @author   Satoru K   &lt;koni@sjts.co.jp&gt;<br>
 * @author   Katumasa O   &lt;ookubo@sjts.co.jp$gt;<br>
 */
public class GSDate implements Cloneable,Serializable {
    
    /** 僇儗儞僟乕 */
	private Calendar calendar=null;

	/** 僐儞僗僩儔僋僞 */
	public GSDate()	{
		//DateFormatSymbols formatData = new DateFormatSymbols();
		//DateFormatSymbols formatData = new DateFormatSymbols(new Locale("ja","jp"));
		//calendar = Calendar.getInstance(SimpleTimeZone.getTimeZone(formatData.getZoneStrings()[0][0]));
		calendar = Calendar.getInstance(java.util.TimeZone.getDefault());
		ResetTime();
	}

    /**
     *
     */
	public synchronized Object clone() {
		GSDate newDate = new GSDate();
		newDate.calendar = (Calendar)this.calendar.clone();
		return newDate;
	}

    /**
     *
     */
	public synchronized void ResetTime() {
		calendar.setTime(new Date());
	}

	/**
	 * 擭寧擔傪愝掕偡傞丅
	 * 
	 * @param y  擭
	 * @param m  寧
	 * @param d  擔
	 */
	public synchronized void setYMD(int y, int m, int d ) {
		calendar.clear();
		calendar.set(y,m-1,d);
	}

	/**
	 * 擭寧擔傪愝掕偡傞丅
	 * 
	 * @param ymd  擭寧擔
	 */
	public synchronized void setYMD(String ymd)	{
		setYMD(Integer.parseInt( ymd.substring(0,4) )
					 ,Integer.parseInt( ymd.substring(4,6) )
					 ,Integer.parseInt( ymd.substring(6,8) ) );
	}

	/**
	 * 擭寧擔傪庢摼偡傞丅
	 * 
	 * @return  擭寧擔
	 */
	public synchronized String getYMD() {
		return getstrYear()+getstrMonth()+getstrDay();
	}

	/**
	 * 擭寧擔帪暘傪愝掕偡傞丅
	 * 
	 * @param y  擭
	 * @param m  寧
	 * @param d  擔
	 * @param h  帪
	 * @param m  暘
	 */
	public synchronized void setYMDHM(int y,int m,int d,int h,int M) {
		calendar.clear();
		calendar.set( y,m-1,d,h,M );
	}

	/**
	 * 擭寧擔帪暘傪愝掕偡傞丅
	 * 
	 * @param ymdhm  擭寧擔帪暘
	 */
	public synchronized void setYMDHM(String ymdhm) {
		setYMDHM( Integer.parseInt( ymdhm.substring(0,4))
				  ,Integer.parseInt(ymdhm.substring(4,6))
				  ,Integer.parseInt(ymdhm.substring(6,8))
				  ,Integer.parseInt(ymdhm.substring(8,10))
				  ,Integer.parseInt(ymdhm.substring(10,12)) );
	}

	/**
	 * 擭寧擔帪暘傪庢摼偡傞丅
	 * 
	 * @return  擭寧擔帪暘
	 */
	public synchronized String getYMDHM() {
		return getYMD()+getstrHour()+getstrMinute();
	}

	/**
	 * 擭寧擔帪暘昩傪愝掕偡傞丅
	 * 
	 * @param y  擭
	 * @param m  寧
	 * @param d  擔
	 * @param h  帪
	 * @param m  暘
	 * @param s  昩
	 */
	public synchronized void setYMDHMS(int y,int m,int d,int h,int M,int s) {
		calendar.clear();
		calendar.set( y,m-1,d,h,M,s );
	}

	/**
	 * 擭寧擔帪暘昩傪愝掕偡傞丅
	 * 
	 * @param ymdhms  擭寧擔帪暘昩
	 */
	public synchronized void setYMDHMS(String ymdhms) {
		setYMDHMS( Integer.parseInt(ymdhms.substring(0,4))
				   ,Integer.parseInt(ymdhms.substring(4,6))
				   ,Integer.parseInt(ymdhms.substring(6,8))
				   ,Integer.parseInt(ymdhms.substring(8,10))
				   ,Integer.parseInt(ymdhms.substring(10,12))
				   ,Integer.parseInt(ymdhms.substring(12,14)) );
	}

	/**
	 * 擭寧擔帪暘昩傪庢摼偡傞丅
	 * 
	 * @param  擭寧擔帪暘昩
	 */
	public synchronized String getYMDHMS() {
		return getYMDHM()+getstrSecond();
	}

	/**
	 * 擭傪庢摼偡傞丅
	 *
	 * return  擭
	 */
	public synchronized int getYear() { return calendar.get(Calendar.YEAR); }

	/**
	 * 擭傪庢摼偡傞丅
	 *
	 * return  擭
	 */
	public synchronized String getstrYear() {
		return GSTool.intDecFormat(getYear(),"0000");
	}

	/**
	 * 寧傪庢摼偡傞丅
	 *
	 * return  寧
	 */
	public synchronized int getMonth() {
		int ret=-1;
		switch(calendar.get(Calendar.MONTH)) {
		case Calendar.JANUARY: ret=1; break;
		case Calendar.FEBRUARY: ret=2; break;
		case Calendar.MARCH: ret=3; break;
		case Calendar.APRIL: ret=4; break;
		case Calendar.MAY: ret=5; break;
		case Calendar.JUNE: ret=6; break;
		case Calendar.JULY: ret=7; break;
		case Calendar.AUGUST: ret=8; break;
		case Calendar.SEPTEMBER: ret=9; break;
		case Calendar.OCTOBER: ret=10; break;
		case Calendar.NOVEMBER: ret=11; break;
		case Calendar.DECEMBER: ret=12; break;
		}
		return ret;
	}

	/**
	 * 寧傪庢摼偡傞丅
	 *
	 * return  寧
	 */
	public synchronized String getstrMonth() { 
		return GSTool.intDecFormat(getMonth(),"00");
	}

	public synchronized int getDay() { return getDate(); }
	public synchronized int getDate() { return calendar.get(Calendar.DATE); }
	public synchronized String getstrDay() { return getstrDate(); }
	public synchronized String getstrDate() { 
		return GSTool.intDecFormat(getDate(),"00");
	}

	public synchronized int getHour() { return calendar.get(Calendar.HOUR_OF_DAY); }
	public synchronized String getstrHour() {
		return GSTool.intDecFormat(getHour(),"00");
	}

	public synchronized int getMinute() { return calendar.get(Calendar.MINUTE); }
	public synchronized String getstrMinute() {
		return GSTool.intDecFormat(getMinute(),"00");
	}

	public synchronized int getSecond() { return calendar.get(Calendar.SECOND); }
	public synchronized String getstrSecond() { 
		return GSTool.intDecFormat(getSecond(),"00");
	}

	public synchronized long getTime() {
		return (calendar.getTime()).getTime();
	}

	public synchronized void setTime(long time) {
		(calendar.getTime()).setTime(time);
	}

	/**
	 * 梛擔傪庢摼偡傞丅
	 *
	 * @return 梛擔傪帵偡惍悢抣
	 */
	public synchronized int getWeek() { 
		int ret =  calendar.get(Calendar.DAY_OF_WEEK);
		switch(ret) {
		case Calendar.SUNDAY: return 1;
		case Calendar.MONDAY: return 2;
		case Calendar.TUESDAY: return 3;
		case Calendar.WEDNESDAY: return 4;
		case Calendar.THURSDAY: return 5;
		case Calendar.FRIDAY: return 6;
		case Calendar.SATURDAY: return 7;
		}

		return ret;
	}

	/**
	 * 尰嵼偺寧偺壗廡栚偐傪庢摼偡傞丅
	 *
	 * @return  寧偺拞偺廡
	 */
	public synchronized int getWeekOfMonth() { 
		return calendar.get(Calendar.WEEK_OF_MONTH); 
	}

	/**
	 * 尰嵼偺寧偺嵟廔擔傪庢摼偡傞丅
	 *
	 * @return  嵟廔擔
	 */
	public synchronized int getMaxDayOfMonth() {
		return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
	}

	/**
	 * 尰嵼偺寧偺壗廡栚偐傪愝掕偡傞丅
	 *
	 * @param wk  廡
	 */
	public synchronized void setWeek(int wk) {
		calendar.set(Calendar.WEEK_OF_MONTH,wk);
	}

	/**
	 * 尰嵼偺擔晅傪侾擔暘恑傔傑偡丅
	 */
	public synchronized void rollUpDay() {
		calendar.add(Calendar.DATE,1);
	}

	/**
	 * 尰嵼偺擔晅傪侾擔暘尭傜偟傑偡丅
	 */
	public synchronized void rollDownDay() {
		calendar.add(Calendar.DATE,-1);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -