<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    J2ME 技術(shù)的學(xué)習(xí)與實(shí)踐者

    [導(dǎo)入]日期處理類(忽略時(shí)間)


    網(wǎng)站: JavaEye  作者: iwinyeah  鏈接:http://iwinyeah.javaeye.com/blog/173704  發(fā)表時(shí)間: 2008年03月19日

    聲明:本文系JavaEye網(wǎng)站發(fā)布的原創(chuàng)博客文章,未經(jīng)作者書面許可,嚴(yán)禁任何網(wǎng)站轉(zhuǎn)載本文,否則必將追究法律責(zé)任!

    我的一個(gè)日期處理類,解決了時(shí)區(qū)問(wèn)題,給有需要的人。
    package util;
    
    /**
     * --------------------------------------------------
     * 日期轉(zhuǎn)換對(duì)象
     * --------------------------------------------------
     * 主要提供日期與1970-01-01后的天數(shù)的轉(zhuǎn)換和到字符串的轉(zhuǎn)換
     * --------------------------------------------------
     * 
     * @author iwinyeah 李永超
     * @version 1.0.0
     * */
    
    import java.util.Calendar;
    import java.util.Date;
    import java.util.TimeZone;
    
    public class DateUtil {
    	private static Calendar _calendar = Calendar.getInstance(); // 用于日期計(jì)算
    
    	private static long MSEC_EVERYDAY = 86400000L; // 一天的微秒數(shù)
    
    	private static int rawOffset = TimeZone.getDefault().getRawOffset();
    
    	/**
    	 * 將日期轉(zhuǎn)換為1970-01-01后的天數(shù)
    	 * 
    	 * @param Date
    	 *            theDate 要計(jì)算天數(shù)的日期
    	 * @return int 所傳入日期與1970-01-01相差的天數(shù)
    	 */
    	public static int dateToDay(Date theDate) {
    		return (int) ((theDate.getTime() + rawOffset) / MSEC_EVERYDAY);
    	}
    
    	/**
    	 * 將1970-01-01后的天數(shù)轉(zhuǎn)換為日期
    	 * 
    	 * @param int
    	 *            要取的日期與1970-01-01相差的天數(shù)
    	 * @return Date theDate 與1970-01-01相差相應(yīng)天數(shù)的日期
    	 */
    	public static Date dayToDate(int day) {
    		return new Date(day * MSEC_EVERYDAY);
    	}
    
    	/**
    	 * 取今天與1970-01-01相差的天數(shù)
    	 * 
    	 * @return int 取今天與1970-01-01相差的天數(shù)
    	 */
    	public static int toDay() {
    		return (int) ((System.currentTimeMillis() + rawOffset) / MSEC_EVERYDAY);
    	}
    
    	/**
    	 * 將日期轉(zhuǎn)換為年月日字符串
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return String 對(duì)應(yīng)日期年月日形式的字符串
    	 */
    	public static String getYMD(int theDay) {
    		_calendar.setTime(dayToDate(theDay));
    		return _calendar.get(Calendar.YEAR) % 100 + "/"
    				+ (_calendar.get(Calendar.MONTH) + 1 > 9 ? "" : "0")
    				+ (_calendar.get(Calendar.MONTH) + 1) + "/"
    				+ (_calendar.get(Calendar.DATE) > 9 ? "" : "0")
    				+ _calendar.get(Calendar.DATE);
    	}
    
    	/**
    	 * 將日期轉(zhuǎn)換為年月字符串
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return String 對(duì)應(yīng)日期年月形式的字符串
    	 */
    	public static String getYM(int theDay) {
    		_calendar.setTime(dayToDate(theDay));
    		return _calendar.get(Calendar.YEAR) + "/"
    				+ (_calendar.get(Calendar.MONTH) + 1 > 9 ? "" : "0")
    				+ (_calendar.get(Calendar.MONTH) + 1);
    	}
    
    	/**
    	 * 將日期轉(zhuǎn)換為月日字符串
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return String 對(duì)應(yīng)日期月日形式的字符串
    	 */
    	public static String getMD(int theDay) {
    		_calendar.setTime(dayToDate(theDay));
    		return (_calendar.get(Calendar.MONTH) + 1 > 9 ? "" : "0")
    				+ (_calendar.get(Calendar.MONTH) + 1) + "/"
    				+ (_calendar.get(Calendar.DATE) > 9 ? "" : "0")
    				+ _calendar.get(Calendar.DATE);
    	}
    
    	/**
    	 * 將日期轉(zhuǎn)換為當(dāng)月一號(hào)
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return int 對(duì)應(yīng)日期所在月份第一天與1970-01-01相差的天數(shù)
    	 */
    	public static int getMonthFirstDay(int theDay) {
    		_calendar.setTime(dayToDate(theDay));
    		_calendar.set(Calendar.DAY_OF_MONTH, 1);
    		return (int) (dateToDay(_calendar.getTime()));
    	}
    
    	/**
    	 * 取日期所在年份
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return int 對(duì)應(yīng)日期所在年份
    	 */
    	public static int getYear(int theDay) {
    		_calendar.setTime(dayToDate(theDay));
    		return _calendar.get(Calendar.YEAR);
    	}
    
    	/**
    	 * 取日期所在月份
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return int 對(duì)應(yīng)日期所在月份
    	 */
    	public static int getMonth(int theDay) {
    		_calendar.setTime(dayToDate(theDay));
    		return _calendar.get(Calendar.MONTH);
    	}
    
    	/**
    	 * 取日期所在周次
    	 * 
    	 * @param int
    	 *            theDay 與1970-01-01相差的天數(shù)
    	 * @return int 對(duì)應(yīng)日期所在周次
    	 */
    	public static int getWeek(int theDay) {
    		// 1971-01-03是星期日,從該日開始計(jì)算周次
    		_calendar.setTime(dayToDate(theDay));
    		return (int) ((_calendar.getTime().getTime() - 172800000L) / 604800000L);
    	}
    
    }
    

    本文的討論也很精彩,瀏覽討論>>


    JavaEye推薦




    文章來(lái)源:http://iwinyeah.javaeye.com/blog/173704

    posted on 2008-03-19 12:32 iwinyeah 閱讀(216) 評(píng)論(0)  編輯  收藏 所屬分類: Java 基礎(chǔ)知識(shí)

    主站蜘蛛池模板: 中文字幕一精品亚洲无线一区| 女人张开腿等男人桶免费视频| 国产一区在线观看免费| 自怕偷自怕亚洲精品| 久久国产精品萌白酱免费| 亚洲情XO亚洲色XO无码| 两个人的视频www免费| 亚洲人成中文字幕在线观看| 巨胸喷奶水视频www免费视频| 日韩精品亚洲aⅴ在线影院| 99在线热播精品免费99热| 亚洲AV无码一区二区三区DV| 久久狠狠躁免费观看2020| 亚洲嫩草影院在线观看| 成人免费a级毛片| 亚洲一级毛片视频| 成人爱做日本视频免费| 免费视频精品一区二区| 亚洲国产日韩在线视频| 99久久免费精品高清特色大片| 亚洲国产模特在线播放| 日韩免费高清视频网站| rh男男车车的车车免费网站 | 1000部啪啪未满十八勿入免费| 亚洲伊人色一综合网| 日韩免费视频一区| 精品国产呦系列在线观看免费| 亚洲AV永久无码区成人网站| 18以下岁毛片在免费播放| 学生妹亚洲一区二区| 少妇亚洲免费精品| 91成人免费观看| 精品亚洲成a人在线观看| 国产精品亚洲片在线| 成年在线观看网站免费| 日韩精品无码永久免费网站| 久久久久亚洲Av片无码v| 好爽…又高潮了免费毛片| 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲成A人片在线观看无码不卡| 国产精品成人观看视频免费 |