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

📄 dateutil.java

📁 JAVA 文章管理系统源码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
 * 创建日期 2005-11-21
 *
 * TODO 要更改此生成的文件的模板,请转至
 * 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
package com.haven.sinopec.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Hashtable;
import java.util.List;

import org.apache.commons.lang.StringUtils;

/**
 * @author sjm
 * 
 * TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
 */
public class DateUtil {

	public static String getWeekOfMonth() {
		Calendar cal = Calendar.getInstance();
		return String.valueOf(cal.get(Calendar.WEEK_OF_MONTH));

	}

	public static int getWeekOfYear() {

		Hashtable ht = new Hashtable();
		ht.put("2006", "2005-12-31");
		ht.put("2007", "2006-12-30");
		ht.put("2008", "2007-12-29");
		ht.put("2009", "2009-01-03");
		ht.put("2010", "2010-01-02");
		ht.put("2011", "2011-01-01");

		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, 7);
		String year = String.valueOf(cal.get(Calendar.YEAR));
		String Sdate = (String) ht.get(year);

		int yy = cal.get(Calendar.YEAR);
		String years = String.valueOf(yy);
		int mm = cal.get(Calendar.MONTH) + 1;
		String months = fillZero(mm, 2);
		int ddd = cal.get(Calendar.DAY_OF_MONTH);
		String days = fillZero(ddd, 2);

		String Edate = years + "-" + months + "-" + days;

		long d = getCompareDate(Sdate, Edate);

		int dd = (int) (d / 7);

		return Integer.parseInt(year + String.valueOf(dd));

	}

	public static int getThisWeekOfYear() {
		Hashtable ht = new Hashtable();
		ht.put("2006", "2005-12-31");
		ht.put("2007", "2006-12-30");
		ht.put("2008", "2007-12-29");
		ht.put("2009", "2009-01-03");
		ht.put("2010", "2010-01-02");
		ht.put("2011", "2011-01-01");

		Calendar cal = Calendar.getInstance();
		//cal.add(Calendar.DATE, 7);
		//String week = String.valueOf(cal.get(Calendar.WEEK_OF_YEAR));
		String year = String.valueOf(cal.get(Calendar.YEAR));
		String Sdate = (String) ht.get(year);
		String Edate = getDateYYYY_MM_DD();
		long d = getCompareDate(Sdate, Edate);

		int dd = (int) (d / 7);
		if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
        	dd--;
        }
         
		return Integer.parseInt(year + String.valueOf(dd));

	}

	public static String getMonthOfYear() {
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.MONTH, 1);
		String month = String.valueOf(cal.get(Calendar.MONTH) + 1);
		String year = String.valueOf(cal.get(Calendar.YEAR));
		return year + "-" + month;

	}

	public static String getNextWeekStartDate() {
		//取下个星期的开始日期,用星期六作为一周的开始

		Calendar calendar = Calendar.getInstance();
		int old = calendar.get(Calendar.DAY_OF_WEEK);

		//将日期定位到下周六
		if (7 == old) {
			old = 0;
		}
		calendar.add(Calendar.DATE, 7 - old);

		String syear, smonth, sday;

		syear = String.valueOf(calendar.get(Calendar.YEAR));

		smonth = fillZero(calendar.get(Calendar.MONTH) + 1, 2);

		sday = fillZero(calendar.get(Calendar.DATE), 2);

		return syear + "-" + smonth + "-" + sday;

	}

	public static String getNextWeekEndDate() {
		//取下个星期的结束日期,用星期六作为一周的开始

		Calendar calendar = Calendar.getInstance();
		String eyear, emonth, eday;

		int old = calendar.get(Calendar.DAY_OF_WEEK);

		//将日期定位到下周六
		if (7 == old) {
			old = 0;
		}
		calendar.add(Calendar.DATE, 7 - old);
		//将日期定位到下个星期五
		calendar.add(Calendar.DATE, 6);

		eyear = String.valueOf(calendar.get(Calendar.YEAR));
		emonth = fillZero(calendar.get(Calendar.MONTH) + 1, 2);
		eday = fillZero(calendar.get(Calendar.DATE), 2);

		return eyear + "-" + emonth + "-" + eday;

	}

	public static String getWeekDay(String startdate, int delta) {
		Calendar cal = Calendar.getInstance();
		Date olddate;
		try {
			SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd");
			Date d1 = bartDateFormat.parse(startdate);

			cal.setTime(d1);

			cal.add(Calendar.DATE, delta);

			String eyear = String.valueOf(cal.get(Calendar.YEAR));
			String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
			String eday = fillZero(cal.get(Calendar.DATE), 2);

			return eyear + "-" + emonth + "-" + eday;
		} catch (Exception e) {
			return null;
		}

	}

	public static String geTodayAndTomorrowTimeQuantum() {
		Calendar cal = Calendar.getInstance();
		cal.add(Calendar.DATE, 1);

		String tyear = String.valueOf(cal.get(Calendar.YEAR));
		String tmonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
		String tday = fillZero(cal.get(Calendar.DATE), 2);

		String Today = tyear + "年" + tmonth + "月" + tday + "日" + "8:00";
		cal.add(Calendar.DATE, 1);
		String eyear = String.valueOf(cal.get(Calendar.YEAR));
		String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
		String eday = fillZero(cal.get(Calendar.DATE), 2);

		String Tomorrow = eyear + "年" + emonth + "月" + eday + "日" + "8:00";

		return Today + "----" + Tomorrow;
	}

	public static String geTimeQuantum() {
		Calendar cal = Calendar.getInstance();
		String tyear = String.valueOf(cal.get(Calendar.YEAR));
		String tmonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
		String tday = fillZero(cal.get(Calendar.DATE), 2);

		String Today = tyear + "年" + tmonth + "月" + tday + "日" + "8:00";

		cal.add(Calendar.DATE, 1);
		String eyear = String.valueOf(cal.get(Calendar.YEAR));
		String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
		String eday = fillZero(cal.get(Calendar.DATE), 2);

		String Tomorrow = eyear + "年" + emonth + "月" + eday + "日" + "8:00";

		return Today + "----" + Tomorrow;
	}

	public static String getTomorrowYYYY_MM_DD() {
		Calendar cal = Calendar.getInstance();
		String Today = getDateYYYY_MM_DD();
		cal.add(Calendar.DATE, 1);
		String eyear = String.valueOf(cal.get(Calendar.YEAR));
		String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
		String eday = fillZero(cal.get(Calendar.DATE), 2);

		String Tomorrow = eyear + "-" + emonth + "-" + eday;

		return Tomorrow;
	}

	public static String getNTomorrowYYYY_MM_DD() {
		Calendar cal = Calendar.getInstance();
		String Today = getDateYYYY_MM_DD();
		cal.add(Calendar.DATE, 2);
		String eyear = String.valueOf(cal.get(Calendar.YEAR));
		String emonth = fillZero(cal.get(Calendar.MONTH) + 1, 2);
		String eday = fillZero(cal.get(Calendar.DATE), 2);

		String Tomorrow = eyear + "-" + emonth + "-" + eday;

		return Tomorrow;
	}

	public static String getDateYYYY_MM_DD_HH_MM() {

		Calendar cal = Calendar.getInstance();
		int yy = cal.get(Calendar.YEAR);
		String years = String.valueOf(yy);
		int mm = cal.get(Calendar.MONTH) + 1;
		String months = fillZero(mm, 2);
		int dd = cal.get(Calendar.DAY_OF_MONTH);
		String days = fillZero(dd, 2);
		int hh = cal.get(Calendar.HOUR_OF_DAY);
		String hours = fillZero(hh, 2);
		int ms = cal.get(Calendar.MINUTE);
		String minutes = fillZero(ms, 2);

		return years + "-" + months + "-" + days + " " + hours + ":" + minutes;
	}

	public static String getDateYYYY_MM_DD() {
		Calendar cal = Calendar.getInstance();
		int yy = cal.get(Calendar.YEAR);
		String years = String.valueOf(yy);
		int mm = cal.get(Calendar.MONTH) + 1;
		String months = fillZero(mm, 2);
		int dd = cal.get(Calendar.DAY_OF_MONTH);
		String days = fillZero(dd, 2);

		return years + "-" + months + "-" + days;
	}

	public static int getDaysInMonth(String ym) {
		String yms[] = StringUtils.split(ym, "-");

		int year = Integer.parseInt(yms[0]);
		int month = Integer.parseInt(yms[1]);
		int days = 0;

		if (0 == (month % 2)) {
			if (month > 7) {
				days = 31;
			} else {
				if (month == 2) {
					if (((year % 100) == 0) || ((year % 4) == 0)) {
						days = 29;
					} else {
						days = 28;
					}
				} else {
					days = 30;
				}
			}
		} else {
			if (month > 8) {
				days = 30;
			} else {
				days = 31;
			}
		}
		return days;
	}

	private static String fillZero(int value, int len) {
		String surfix = "";
		switch (len) {
		case 2:
			if (value < 10) {
				surfix = "0";
			}
			break;
		case 3:
			if (value < 100 && value >= 10) {
				surfix = "0";
			} else if (value < 10) {
				surfix = "00";
			}
			break;
		}
		return surfix + String.valueOf(value);
	}

	public static String getDateYYYY() {

		Calendar cal = Calendar.getInstance();
		int yy = cal.get(Calendar.YEAR);
		String years = String.valueOf(yy);

		return years;
	}

	public static String getDateMM() {

		Calendar cal = Calendar.getInstance();
		int mm = cal.get(Calendar.MONTH) + 1;
		String months = fillZero(mm, 2);

⌨️ 快捷键说明

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