From d711c899e42e8cacee3ed6408f4c57e91c962dc8 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 17 四月 2025 17:03:10 +0800
Subject: [PATCH] 改正发布判断bug

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java | 1720 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,720 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
new file mode 100644
index 0000000..b1dcd25
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/DateTime.java
@@ -0,0 +1,1720 @@
+package com.dy.common.util;
+
+import java.util.*;
+import java.text.SimpleDateFormat;
+import java.util.GregorianCalendar ;
+
+@SuppressWarnings("unused")
+public class DateTime {
+	
+	private static String yearPreFix = null ;//骞村害鍓嶄袱浣�
+	
+	//寰楀埌骞村害鍓嶄袱浣�
+	public static String yearPreFix(){
+		if(yearPreFix == null){
+			yearPreFix = yyyy().substring(0,2) ;
+		}
+		return yearPreFix ;
+	}
+	
+	public static long getTime(){
+		return new Date().getTime() ;
+	}
+	public static long getTime(String y_M_d_H_m_s) throws Exception{
+		return dateFrom_yyyy_MM_dd_HH_mm_ss(y_M_d_H_m_s).getTime() ;
+	}
+	public static Date getDate(Long time){
+		return new Date(time) ;
+	}
+
+
+
+	public static Date startOfDay(int year, int month, int day){
+		Date dt = null ;
+		try{
+			dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(year + "-" + (month < 10 ? ("0" + month) : month) + "-" + (day < 10 ? ("0" + day) : day) + " 00:00:00");
+		}catch (Exception e){
+			e.printStackTrace();
+		}
+		return dt  ;
+	}
+
+	public static Date endOfDay(int year, int month, int day){
+		Date dt = null ;
+		try{
+			dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(year + "-" + (month < 10 ? ("0" + month) : month) + "-" + (day < 10 ? ("0" + day) : day) + " 23:59:59");
+		}catch (Exception e){
+			e.printStackTrace();
+		}
+		return dt  ;
+	}
+
+	public static int endDayOfMonth(int year, int month){
+		if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
+			return 31 ;
+		}else{
+			if(month == 2){
+				if(DateTime.isLeapYear(year)){
+					return 29 ;
+				}else{
+					return 28 ;
+				}
+			}else{
+				return 30 ;
+			}
+		}
+	}
+
+
+	
+	public static String yyyy() {
+		return new SimpleDateFormat("yyyy", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+	public static String yyyy(Date date) {
+		return new SimpleDateFormat("yyyy", Locale.CHINA).format(date);
+	}
+	public static String yyyy(String yyyy) {
+		return new SimpleDateFormat("yyyy", Locale.CHINA).format(yyyy);
+	}
+	public static String yy() {
+		return new SimpleDateFormat("yy", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+
+	public static String MM() {
+		return new SimpleDateFormat("MM", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+
+	public static String dd() {
+		return new SimpleDateFormat("dd", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+
+	public static String HH() {
+		return new SimpleDateFormat("HH", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+
+	public static String mm() {
+		return new SimpleDateFormat("mm", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+
+	public static String ss() {
+		return new SimpleDateFormat("ss", Locale.CHINA).format(new Date(System.currentTimeMillis()));
+	}
+	
+	public static String week(){
+		return new SimpleDateFormat("EE", Locale.CHINA).format(System.currentTimeMillis()); 	
+	}
+
+
+	//////////////////////////////////////////////////////////////
+	public static String MM_dd() {
+		return new SimpleDateFormat("MM-dd", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String MMdd() {
+		return new SimpleDateFormat("MMdd", Locale.CHINA).format(System.currentTimeMillis());
+	}
+
+
+	//////////////////////////////////////////////////////////////
+
+	public static String yyyy_MM_dd_HH_mm_ss() {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyy_MM_dd_HH_mm() {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyy_MM_dd_HH() {
+		return new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyy_MM_dd() {
+		return new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyy_MM() {
+		return new SimpleDateFormat("yyyy-MM", Locale.CHINA).format(System.currentTimeMillis());
+	}
+
+	
+	public static String yyyy_MM_dd_HH_mm_ss(Date date) {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM_dd_HH_mm(Date date) {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM_dd_HH(Date date) {
+		return new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM_dd(Date date) {
+		return new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM(Date date) {
+		return new SimpleDateFormat("yyyy-MM", Locale.CHINA).format(date);
+	}
+
+	
+	public static String yyyy_MM_dd_HH_mm_ss(String date) {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM_dd_HH_mm(String date) {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM_dd_HH(String date) {
+		return new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM_dd(String date) {
+		return new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).format(date);
+	}
+	public static String yyyy_MM(String date) {
+		return new SimpleDateFormat("yyyy-MM", Locale.CHINA).format(date);
+	}
+	
+	public static String yyyyMMddHHmmss() {
+		return new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyyMMddHHmm() {
+		return new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyyMMddHH() {
+		return new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyyMMdd() {
+		return new SimpleDateFormat("yyyyMMdd", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyyMM() {
+		return new SimpleDateFormat("yyyyMM", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+	public static String yyyyMMddHHmmss(Date date) {
+		return new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMddHHmm(Date date) {
+		return new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMddHH(Date date) {
+		return new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMdd(Date date) {
+		return new SimpleDateFormat("yyyyMMdd", Locale.CHINA).format(date);
+	}
+	public static String yyyyMM(Date date) {
+		return new SimpleDateFormat("yyyyMM", Locale.CHINA).format(date);
+	}
+	
+	public static String yyyyMMddHHmmss(String date) {
+		return new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMddHHmm(String date) {
+		return new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMddHH(String date) {
+		return new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMdd(String date) {
+		return new SimpleDateFormat("yyyyMMdd", Locale.CHINA).format(date);
+	}
+	public static String yyyyMM(String date) {
+		return new SimpleDateFormat("yyyyMM", Locale.CHINA).format(date);
+	}
+	
+	//////////////////////////////////////////////////////////////
+
+	public static String yy_MM_dd_HH_mm_ss() {
+		return new SimpleDateFormat("yy-MM-dd HH:mm:ss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yy_MM_dd_HH_mm() {
+		return new SimpleDateFormat("yy-MM-dd HH:mm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yy_MM_dd_HH() {
+		return new SimpleDateFormat("yy-MM-dd HH", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yy_MM_dd() {
+		return new SimpleDateFormat("yy-MM-dd", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yy_MM() {
+		return new SimpleDateFormat("yy-MM", Locale.CHINA).format(System.currentTimeMillis());
+	}
+
+	
+	public static String yy_MM_dd_HH_mm_ss(Date date) {
+		return new SimpleDateFormat("yy-MM-dd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yy_MM_dd_HH_mm(Date date) {
+		return new SimpleDateFormat("yy-MM-dd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yy_MM_dd_HH(Date date) {
+		return new SimpleDateFormat("yy-MM-dd HH", Locale.CHINA).format(date);
+	}
+	public static String yy_MM_dd(Date date) {
+		return new SimpleDateFormat("yy-MM-dd", Locale.CHINA).format(date);
+	}
+	public static String yy_MM(Date date) {
+		return new SimpleDateFormat("yy-MM", Locale.CHINA).format(date);
+	}
+
+	
+	public static String yy_MM_dd_HH_mm_ss(String date) {
+		return new SimpleDateFormat("yy-MM-dd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yy_MM_dd_HH_mm(String date) {
+		return new SimpleDateFormat("yy-MM-dd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yy_MM_dd_HH(String date) {
+		return new SimpleDateFormat("yy-MM-dd HH", Locale.CHINA).format(date);
+	}
+	public static String yy_MM_dd(String date) {
+		return new SimpleDateFormat("yy-MM-dd", Locale.CHINA).format(date);
+	}
+	public static String yy_MM(String date) {
+		return new SimpleDateFormat("yy-MM", Locale.CHINA).format(date);
+	}
+	
+	public static String yyMMddhhmmss() {
+		return new SimpleDateFormat("yyMMddHHmmss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyMMddhhmm() {
+		return new SimpleDateFormat("yyMMddHHmm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyMMddhh() {
+		return new SimpleDateFormat("yyMMddHH", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyMMdd() {
+		return new SimpleDateFormat("yyMMdd", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyMM() {
+		return new SimpleDateFormat("yyMM", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+	
+	public static String yyMMddhhmmssSSS() {
+		return new SimpleDateFormat("yyMMddHHmmssSSS", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+	public static String yyMMddhhmmss(Date date) {
+		return new SimpleDateFormat("yyMMddHHmmss", Locale.CHINA).format(date);
+	}
+	public static String yyMMddhhmm(Date date) {
+		return new SimpleDateFormat("yyMMddHHmm", Locale.CHINA).format(date);
+	}
+	public static String yyMMddhh(Date date) {
+		return new SimpleDateFormat("yyMMddHH", Locale.CHINA).format(date);
+	}
+	public static String yyMMdd(Date date) {
+		return new SimpleDateFormat("yyMMdd", Locale.CHINA).format(date);
+	}
+	public static String yyMM(Date date) {
+		return new SimpleDateFormat("yyMM", Locale.CHINA).format(date);
+	}
+	
+	public static String yyMMddhhmmss(String date) {
+		return new SimpleDateFormat("yyMMddHHmmss", Locale.CHINA).format(date);
+	}
+	public static String yyMMddhhmm(String date) {
+		return new SimpleDateFormat("yyMMddHHmm", Locale.CHINA).format(date);
+	}
+	public static String yyMMddhh(String date) {
+		return new SimpleDateFormat("yyMMddHH", Locale.CHINA).format(date);
+	}
+	public static String yyMMdd(String date) {
+		return new SimpleDateFormat("yyMMdd", Locale.CHINA).format(date);
+	}
+	public static String yyMM(String date) {
+		return new SimpleDateFormat("yyMM", Locale.CHINA).format(date);
+	}
+	
+
+	//////////////////////////////////////////////////////////////
+
+	public static String yyyyMMdd_HH_mm_ss() {
+		return new SimpleDateFormat("yyyyMMdd HH:mm:ss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyyMMdd_HH_mm() {
+		return new SimpleDateFormat("yyyyMMdd HH:mm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyyyMMdd_HH() {
+		return new SimpleDateFormat("yyyyMMdd HH", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+	public static String yyyyMMdd_HH_mm_ss(Date date) {
+		return new SimpleDateFormat("yyyyMMdd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMdd_HH_mm(Date date) {
+		return new SimpleDateFormat("yyyyMMdd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMdd_HH(Date date) {
+		return new SimpleDateFormat("yyyyMMdd HH", Locale.CHINA).format(date);
+	}
+
+	
+	public static String yyyyMMdd_HH_mm_ss(String date) {
+		return new SimpleDateFormat("yyyyMMdd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMdd_HH_mm(String date) {
+		return new SimpleDateFormat("yyyyMMdd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yyyyMMdd_HH(String date) {
+		return new SimpleDateFormat("yyyyMMdd HH", Locale.CHINA).format(date);
+	}
+	
+	
+
+	//////////////////////////////////////////////////////////////
+
+	public static String yyMMdd_HH_mm_ss() {
+		return new SimpleDateFormat("yyMMdd HH:mm:ss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyMMdd_HH_mm() {
+		return new SimpleDateFormat("yyMMdd HH:mm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String yyMMdd_HH() {
+		return new SimpleDateFormat("yyMMdd HH", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+	public static String yyMMdd_HH_mm_ss(Date date) {
+		return new SimpleDateFormat("yyMMdd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yyMMdd_HH_mm(Date date) {
+		return new SimpleDateFormat("yyMMdd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yyMMdd_HH(Date date) {
+		return new SimpleDateFormat("yyMMdd HH", Locale.CHINA).format(date);
+	}
+
+	
+	public static String yyMMdd_HH_mm_ss(String date) {
+		return new SimpleDateFormat("yyMMdd HH:mm:ss", Locale.CHINA).format(date);
+	}
+	public static String yyMMdd_HH_mm(String date) {
+		return new SimpleDateFormat("yyMMdd HH:mm", Locale.CHINA).format(date);
+	}
+	public static String yyMMdd_HH(String date) {
+		return new SimpleDateFormat("yyMMdd HH", Locale.CHINA).format(date);
+	}
+	
+   /////////////////////////////////////////	
+	
+	
+	public static String dd_hh_mm_ss() {
+		return new SimpleDateFormat("ddHH:mm:ss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String ddhhmmss() {
+		return new SimpleDateFormat("ddHHmmss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+	public static String hh_mm_ss() {
+		return new SimpleDateFormat("HH:mm:ss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String hhmmss() {
+		return new SimpleDateFormat("HHmmss", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String hh_mm() {
+		return new SimpleDateFormat("HH:mm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	public static String hhmm() {
+		return new SimpleDateFormat("HHmm", Locale.CHINA).format(System.currentTimeMillis());
+	}
+	
+    //////////////////////////////////////////////////////////////////////////
+	
+	public static Date dateFrom_yyyy_MM_dd_HH_mm_ss(String yyyy_MM_dd_HH_mm_ss) throws Exception {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
+	}
+	public static Date dateFrom_yyyy_MM_dd_HH_mm(String yyyy_MM_dd_HH_mm) throws Exception {
+		return new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).parse(yyyy_MM_dd_HH_mm);
+	}
+	public static Date dateFrom_yyyy_MM_dd_HH(String yyyy_MM_dd_HH) throws Exception {
+		return new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).parse(yyyy_MM_dd_HH);
+	}
+	public static Date dateFrom_yyyy_MM_dd(String yyyy_MM_dd) throws Exception {
+		return new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).parse(yyyy_MM_dd);
+	}
+	public static Date dateFrom_yyyy_MM_dd1(String yyyy_MM_dd_HH_mm_ss) throws Exception {
+		return new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
+	}
+
+	public static Date dateFrom_yyyyMMddHHmmss(String yyyyMMddHHmmss) throws Exception {
+		return new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).parse(yyyyMMddHHmmss);
+	}
+	public static Date dateFrom_yyyyMMddHHmm(String yyyyMMddHHmm) throws Exception {
+		return new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).parse(yyyyMMddHHmm);
+	}
+	public static Date dateFrom_yyyyMMddHH(String yyyyMMddHH) throws Exception {
+		return new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).parse(yyyyMMddHH);
+	}
+	public static Date dateFrom_yyyyMMdd(String yyyyMMdd) throws Exception {
+		return new SimpleDateFormat("yyyyMMdd", Locale.CHINA).parse(yyyyMMdd);
+	}
+	
+	public static Date dateFrom_yyMMddHHmmss(String yyMMddHHmmss) throws Exception {
+		return new SimpleDateFormat("yyMMddHHmmss", Locale.CHINA).parse(yyMMddHHmmss);
+	}
+	
+    //////////////////////////////////////////////////////////////////////////
+
+	//鏄熸湡涓�锛歁onday 鏄熸湡浜�:Tuesday 鏄熸湡涓夛細Wednesday鏄熸湡鍥涳細Thursday鏄熸湡浜旓細Friday鏄熸湡鍏細Saturday鏄熸湡鏃ワ細Sunday 
+	//杩斿洖 Mon, Tue Wed Thu Fri Sat Sun
+	public static String week_Str(){
+		return new SimpleDateFormat("EE", Locale.CHINA).format(System.currentTimeMillis()); 	
+	}
+	public static Integer week_Int(){
+		String str = week_Str() ;
+		if(str.startsWith("鍛�")){
+			return switch (str) {
+				case "鍛ㄤ竴" -> 1;
+				case "鍛ㄤ簩" -> 2;
+				case "鍛ㄤ笁" -> 3;
+				case "鍛ㄥ洓" -> 4;
+				case "鍛ㄤ簲" -> 5;
+				case "鍛ㄥ叚" -> 6;
+				case "鍛ㄤ竷" -> 0;//鏍规嵁鍗忚瑕佹眰鏄熸湡澶╀负0
+				default -> 0;
+			};
+		}else{
+			return switch (str) {
+				case "Mon" -> 1;
+				case "Tue" -> 2;
+				case "Wed" -> 3;
+				case "Thu" -> 4;
+				case "Fri" -> 5;
+				case "Sat" -> 6;
+				case "Sun" -> 0;//鏍规嵁鍗忚瑕佹眰鏄熸湡澶╀负0
+				default -> 0;
+			};
+		}
+	}
+	/**
+	 * 涓や釜鏃ユ湡闂寸浉宸閽熸暟
+	 */
+	public static long secondsBetweenyyyy_MM_dd_HH_mm_ss(String yyyy_MM_dd_HH_mm_ss_1 , String yyyy_MM_dd_HH_mm_ss_2)throws Exception{
+		return ((dateFrom_yyyy_MM_dd_HH_mm_ss(yyyy_MM_dd_HH_mm_ss_1).getTime()-dateFrom_yyyy_MM_dd_HH_mm_ss(yyyy_MM_dd_HH_mm_ss_2).getTime())/1000);
+	}
+	/**
+	 * 涓や釜鏃ユ湡闂寸浉宸閽熸暟
+	 */
+	public static long secondsBetweenyyyyMMddHHmmss(String yyyyMMddHHmmss_1 , String yyyyMMddHHmmss_2)throws Exception{
+		return ((dateFrom_yyyyMMddHHmmss(yyyyMMddHHmmss_1).getTime()-dateFrom_yyyyMMddHHmmss(yyyyMMddHHmmss_2).getTime())/1000) ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡闂寸浉宸垎閽熸暟
+	 */
+	public static long minutesBetweenyyyy_MM_dd_HH_mm(String yyyy_MM_dd_HH_mm_1 , String yyyy_MM_dd_HH_mm_2)throws Exception{
+		return ((dateFrom_yyyy_MM_dd_HH_mm(yyyy_MM_dd_HH_mm_1).getTime()-dateFrom_yyyy_MM_dd_HH_mm(yyyy_MM_dd_HH_mm_2).getTime())/1000)/60 ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡闂寸浉宸垎閽熸暟
+	 */
+	public static long minutesBetweenyyyyMMddHHmm(String yyyyMMddHHmm_1 , String yyyyMMddHHmm_2)throws Exception{
+		return ((dateFrom_yyyyMMddHHmm(yyyyMMddHHmm_1).getTime()-dateFrom_yyyyMMddHHmm(yyyyMMddHHmm_2).getTime())/1000)/60 ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡鐩稿樊灏忔椂鏁�
+	 */
+	public static long hoursBetweenyyyy_MM_dd_HH(String yyyy_MM_dd_HH_1 , String yyyy_MM_dd_HH_2)throws Exception{
+		return (((dateFrom_yyyy_MM_dd_HH(yyyy_MM_dd_HH_1).getTime()-dateFrom_yyyy_MM_dd_HH(yyyy_MM_dd_HH_2).getTime())/1000)/60)/60 ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡鐩稿樊灏忔椂鏁�
+	 */
+	public static long hoursBetweenyyyyMMddHH(String yyyyMMddHH_1 , String yyyyMMddHH_2)throws Exception{
+		return (((dateFrom_yyyy_MM_dd_HH(yyyyMMddHH_1).getTime()-dateFrom_yyyy_MM_dd_HH(yyyyMMddHH_2).getTime())/1000)/60)/60 ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡鐩稿樊澶╂暟
+	 */
+	public static long daysBetweenyyyy_MM_dd(String yyyy_MM_dd_1 , String yyyy_MM_dd_2)throws Exception{
+		return ((((dateFrom_yyyy_MM_dd(yyyy_MM_dd_1).getTime()-dateFrom_yyyy_MM_dd(yyyy_MM_dd_2).getTime())/1000)/60)/60)/24 ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡鐩稿樊澶╂暟
+	 */
+	public static long daysBetweenyyyy_MM_dd(Date yyyy_MM_dd_1 , Date yyyy_MM_dd_2)throws Exception{
+		return ((((yyyy_MM_dd_1.getTime() - yyyy_MM_dd_2.getTime())/1000)/60)/60)/24 ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡鐩稿樊澶╂暟
+	 */
+	public static long daysBetweenyyyyMMdd(String yyyyMMdd_1 , String yyyyMMdd_2)throws Exception{
+		return ((((dateFrom_yyyy_MM_dd(yyyyMMdd_1).getTime()-dateFrom_yyyy_MM_dd(yyyyMMdd_2).getTime())/1000)/60)/60)/24 ;
+	}
+	
+	public static Date dateFrom_MM_dd(String MM_dd) throws Exception {
+		return new SimpleDateFormat(MM_dd, Locale.CHINA).parse(MM_dd);
+	}
+	/**
+	 * 涓や釜鏃ユ湡鐩稿樊澶╂暟
+	 */
+	public static long daysBetweenMM_dd(String MM_dd_1 , String MM_dd_2)throws Exception{
+		return ((((dateFrom_MM_dd(MM_dd_1).getTime()-dateFrom_MM_dd(MM_dd_2).getTime())/1000)/60)/60)/24 ;
+	}
+
+	//////////////////////////////////////////////////////////////////////////
+
+	/**
+	 * 瀛楃涓插瀷鏃ユ湡(2024-12)杞垚骞存湀鏃ユ暟缁�
+	 * @param yyyy_MM 骞存湀鏃�
+	 * @return 骞存湀鏃ユ暟缁�
+	 */
+	public static int[] yyyy_MM_ymdGroup(String yyyy_MM){
+		int y = Integer.parseInt(yyyy_MM.substring(0 , 4)) ;
+		int m = Integer.parseInt(yyyy_MM.substring(5 , 7)) ;
+		return new int[]{y,m} ;
+	}
+
+	/**
+	 * 瀛楃涓插瀷鏃ユ湡(2009-09-10)杞垚骞存湀鏃ユ暟缁�
+	 * @param yyyy_MM_DD 骞存湀鏃�
+	 * @return 骞存湀鏃ユ暟缁�
+	 */
+	public static int[] yyyy_MM_dd_2_ymdGroup(String yyyy_MM_DD){
+		int y = Integer.parseInt(yyyy_MM_DD.substring(0 , 4)) ;
+		int m = Integer.parseInt(yyyy_MM_DD.substring(5 , 7)) ;
+		int d = Integer.parseInt(yyyy_MM_DD.substring(8 , 10)) ;
+		return new int[]{y,m,d} ;
+	}
+	/**
+	 * 瀛楃涓插瀷鏃ユ湡(2009-09-10 00)杞垚骞存湀鏃ユ椂鏁扮粍
+	 * @param yyyy_MM_DD_HH 骞存湀鏃ユ椂
+	 * @return 骞存湀鏃ユ椂鏁扮粍
+	 */
+	public static int[] yyyy_MM_dd_HH_2_ymdhGroup(String yyyy_MM_DD_HH){
+		int y = Integer.parseInt(yyyy_MM_DD_HH.substring(0 , 4)) ;
+		int m = Integer.parseInt(yyyy_MM_DD_HH.substring(5 , 7)) ;
+		int d = Integer.parseInt(yyyy_MM_DD_HH.substring(8 , 10)) ;
+		int h = Integer.parseInt(yyyy_MM_DD_HH.substring(11 , 13)) ;
+		return new int[]{y,m,d,h} ;
+	}
+	/**
+	 * 瀛楃涓插瀷鏃ユ湡(2009-09-10 00:00)杞垚骞存湀鏃ユ椂鍒嗘暟缁�
+	 * @param yyyy_MM_DD_HH_MM  骞存湀鏃ユ椂鍒�
+	 * @return 骞存湀鏃ユ椂鍒嗘暟缁�
+	 */
+	public static int[] yyyy_MM_dd_HH_MM_2_ymdhmGroup(String yyyy_MM_DD_HH_MM){
+		int y = Integer.parseInt(yyyy_MM_DD_HH_MM.substring(0 , 4)) ;
+		int m = Integer.parseInt(yyyy_MM_DD_HH_MM.substring(5 , 7)) ;
+		int d = Integer.parseInt(yyyy_MM_DD_HH_MM.substring(8 , 10)) ;
+		int h = Integer.parseInt(yyyy_MM_DD_HH_MM.substring(11 , 13)) ;
+		int mm = Integer.parseInt(yyyy_MM_DD_HH_MM.substring(14 , 16)) ;
+		return new int[]{y,m,d,h,mm} ;
+	}
+	/**
+	 * 瀛楃涓插瀷鏃ユ湡(2009-09-10 00:00)杞垚骞存湀鏃ユ椂鍒嗙鏁扮粍
+	 * @param yyyy_MM_DD_HH_MM_SS 骞存湀鏃ユ椂鍒嗙
+	 * @return 骞存湀鏃ユ椂鍒嗙鏁扮粍
+	 */
+	public static int[] yyyy_MM_dd_HH_MM_SS_2_ymdhmsGroup(String yyyy_MM_DD_HH_MM_SS){
+		int y = Integer.parseInt(yyyy_MM_DD_HH_MM_SS.substring(0 , 4)) ;
+		int m = Integer.parseInt(yyyy_MM_DD_HH_MM_SS.substring(5 , 7)) ;
+		int d = Integer.parseInt(yyyy_MM_DD_HH_MM_SS.substring(8 , 10)) ;
+		int h = Integer.parseInt(yyyy_MM_DD_HH_MM_SS.substring(11 , 13)) ;
+		int mm = Integer.parseInt(yyyy_MM_DD_HH_MM_SS.substring(14 , 16)) ;
+		int s = Integer.parseInt(yyyy_MM_DD_HH_MM_SS.substring(17 , 19)) ;
+		return new int[]{y,m,d,h,mm,s} ;
+	}
+
+	/**
+	 * 骞存湀鏃ユ椂鍒嗙鏁扮粍杞瓧绗︿覆
+	 * @param yymdhms 骞存湀鏃ユ椂鍒嗙鏁扮粍
+	 * @return 骞存湀鏃ユ椂鍒嗙绗︿覆
+	 */
+	public static String dateGroupTo_yyyy_MM_dd_HH_mm_ss(int[] yymdhms){
+		if(yymdhms[0] > 2000){
+			return  yymdhms[0] + "-" + 
+					(yymdhms[1] < 10 ? ("0" + yymdhms[1]) : yymdhms[1]) + "-" + 
+					(yymdhms[2] < 10 ? ("0" + yymdhms[2]) : yymdhms[2]) + " " + 
+					(yymdhms[3] < 10 ? ("0" + yymdhms[3]) : yymdhms[3]) + ":" + 
+					(yymdhms[4] < 10 ? ("0" + yymdhms[4]) : yymdhms[4]) + ":" + 
+					(yymdhms[5] < 10 ? ("0" + yymdhms[5]) : yymdhms[5]) ; 
+		}else{
+			return  Integer.parseInt(yyyy())/100 + yymdhms[0] + "-" + 
+					(yymdhms[1] < 10 ? ("0" + yymdhms[1]) : yymdhms[1]) + "-" + 
+					(yymdhms[2] < 10 ? ("0" + yymdhms[2]) : yymdhms[2]) + " " + 
+					(yymdhms[3] < 10 ? ("0" + yymdhms[3]) : yymdhms[3]) + ":" + 
+					(yymdhms[4] < 10 ? ("0" + yymdhms[4]) : yymdhms[4]) + ":" + 
+					(yymdhms[5] < 10 ? ("0" + yymdhms[5]) : yymdhms[5]) ; 
+
+		}
+	}
+	
+	public static String dateGroupTo_yyyy_MM_dd_HH_mm_ss(Integer[] yymdhms){
+		if(yymdhms[0] > 2000){
+			return  yymdhms[0] + "-" + 
+					(yymdhms[1] < 10 ? ("0" + yymdhms[1]) : yymdhms[1]) + "-" + 
+					(yymdhms[2] < 10 ? ("0" + yymdhms[2]) : yymdhms[2]) + " " + 
+					(yymdhms[3] < 10 ? ("0" + yymdhms[3]) : yymdhms[3]) + ":" + 
+					(yymdhms[4] < 10 ? ("0" + yymdhms[4]) : yymdhms[4]) + ":" + 
+					(yymdhms[5] < 10 ? ("0" + yymdhms[5]) : yymdhms[5]) ; 
+		}else{
+			return  Integer.parseInt(yyyy())/100 + yymdhms[0] + "-" + 
+					(yymdhms[1] < 10 ? ("0" + yymdhms[1]) : yymdhms[1]) + "-" + 
+					(yymdhms[2] < 10 ? ("0" + yymdhms[2]) : yymdhms[2]) + " " + 
+					(yymdhms[3] < 10 ? ("0" + yymdhms[3]) : yymdhms[3]) + ":" + 
+					(yymdhms[4] < 10 ? ("0" + yymdhms[4]) : yymdhms[4]) + ":" + 
+					(yymdhms[5] < 10 ? ("0" + yymdhms[5]) : yymdhms[5]) ; 
+
+		}
+	}
+
+
+	//////////////////////////////////////////////////////////////////////////
+	/**
+	 * 寰楀埌杩囧幓x鍒嗛挓瀵瑰簲鐨勬棩鏈�
+	 * @param xMin X鍒嗛挓
+	 * @return 姣
+	 */
+	public static Long lastXMinuteTime(int xMin)  {
+		Calendar cal = Calendar.getInstance();  
+		cal.add(Calendar.MINUTE, xMin<=0?xMin:-xMin);
+		Date date = cal.getTime() ;
+		return date.getTime() ;
+	}
+
+	
+	/**
+	 * 寰楀埌杩囧幓x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH 鎸囧畾骞存湀鏃ユ椂
+	 * @param xhour x灏忔椂 X灏忔椂
+	 * @return 骞存湀鏃ユ椂
+	 */
+	public static String lastXHour_yyyy_MM_dd_HH(String yyyy_MM_dd_HH , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).parse(yyyy_MM_dd_HH);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH_mm  鎸囧畾骞存湀鏃ユ椂鍒�
+	 * @param xhour x灏忔椂  X灏忔椂
+	 * @return  骞存湀鏃ユ椂
+	 */
+	public static String lastXHour_yyyy_MM_dd_HH_mm(String yyyy_MM_dd_HH_mm , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).parse(yyyy_MM_dd_HH_mm);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH_mm(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH_mm_ss 鎸囧畾骞存湀鏃ユ椂鍒嗙
+	 * @param xhour x灏忔椂  X灏忔椂
+	 * @return 骞存湀鏃ユ椂鍒嗙
+	 */
+	public static String lastXHour_yyyy_MM_dd_HH_mm_ss(String yyyy_MM_dd_HH_mm_ss , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyyMMddHH  鎸囧畾骞存湀鏃ユ椂
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return  骞存湀鏃ユ椂鍒嗙
+	 */
+	public static String lastXHour_yyyyMMddHH(String yyyyMMddHH , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).parse(yyyyMMddHH);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMddHH(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyyMMddHHmm  鎸囧畾骞存湀鏃ユ椂鍒�
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 骞存湀鏃ユ椂鍒�
+	 */
+	public static String lastXHour_yyyyMMddHHmm(String yyyyMMddHHmm , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).parse(yyyyMMddHHmm);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMddHHmm(date) ;
+	}
+	/**
+	 * 寰楀埌鍓峹灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyyMMddHHmmss  鎸囧畾骞存湀鏃ユ椂鍒嗙
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 骞存湀鏃ユ椂鍒嗙
+	 */
+	public static String lastXHour_yyyyMMddHHmmss(String yyyyMMddHHmmss , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).parse(yyyyMMddHHmmss);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMddHHmmss(date) ;
+	}
+
+	
+	/**
+	 * 寰楀埌x灏忔椂鍓嶅搴旂殑鏃ユ湡(骞存湀鏃ユ椂)
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 骞存湀鏃ユ椂
+	 */
+	public static String lastXHour_yyyy_MM_dd_HH(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍓嶅搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒�)
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXHour_yyyy_MM_dd_HH_mm(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH_mm(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍓嶅搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒嗙)
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXHour_yyyy_MM_dd_HH_mm_ss(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍓嶅搴旂殑鏃ユ湡(骞存湀鏃ユ椂)
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXHour_yyyyMMddHH(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMddHH(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍓嶅搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒�)
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXHour_yyyyMMddHHmm(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMddHHmm(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍓嶅搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒嗙)
+	 * @param xhour x灏忔椂 x灏忔椂
+	 * @return  杞崲鍚庢棩鏈�
+	 */
+	public static String lastXHour_yyyyMMddHHmmss(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?xhour:-xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMddHHmmss(date) ;
+	}
+
+   //////////////////////////////////////////////////////////////////
+	/**
+	 * 寰楀埌灏嗘潵x鍒嗛挓瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH_mm_ss 鎸囧畾骞存湀鏃ユ椂鍒嗙
+	 * @param xminute x鍒嗛挓
+	 * @return  杞崲鍚庢棩鏈�
+	 */
+	public static String nextXMinute_yyyy_MM_dd_HH_mm_ss(String yyyy_MM_dd_HH_mm_ss , int xminute) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.MINUTE, xminute<=0?-xminute:xminute );
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
+	}
+
+	
+	/**
+	 * 寰楀埌灏嗘潵x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH  鎸囧畾骞存湀鏃ユ椂
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyy_MM_dd_HH(String yyyy_MM_dd_HH , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH", Locale.CHINA).parse(yyyy_MM_dd_HH);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour );
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH(date) ;
+	}
+	/**
+	 * 寰楀埌灏嗘潵x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH_mm  鎸囧畾骞存湀鏃ユ椂鍒�
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyy_MM_dd_HH_mm(String yyyy_MM_dd_HH_mm , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.CHINA).parse(yyyy_MM_dd_HH_mm);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH_mm(date) ;
+	}	
+	/**
+	 * 寰楀埌灏嗘潵x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyy_MM_dd_HH_mm_ss  鎸囧畾骞存湀鏃ユ椂鍒嗙
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyy_MM_dd_HH_mm_ss(String yyyy_MM_dd_HH_mm_ss , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA).parse(yyyy_MM_dd_HH_mm_ss);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
+	}
+	/**
+	 * 寰楀埌灏嗘潵x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyyMMddHH 鎸囧畾骞存湀鏃ユ椂
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyyMMddHH(String yyyyMMddHH , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMddHH", Locale.CHINA).parse(yyyyMMddHH);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMddHH(date) ;
+	}
+	/**
+	 * 寰楀埌灏嗘潵x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyyMMddHHmm 鎸囧畾骞存湀鏃ユ椂鍒�
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyyMMddHHmm(String yyyyMMddHHmm , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMddHHmm", Locale.CHINA).parse(yyyyMMddHHmm);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMddHHmm(date) ;
+	}	/**
+	 * 寰楀埌灏嗘潵x灏忔椂瀵瑰簲鐨勬棩鏈�
+	 * @param yyyyMMddHHmmss 鎸囧畾骞存湀鏃ユ椂鍒嗙
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyyMMddHHmmss(String yyyyMMddHHmmss , int xhour) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMddHHmmss", Locale.CHINA).parse(yyyyMMddHHmmss);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMddHHmmss(date) ;
+	}
+
+
+	/**
+	 * 寰楀埌x灏忔椂鍚庡搴旂殑鏃ユ湡(骞存湀鏃ユ椂)
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyy_MM_dd_HH(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍚庡搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒�)
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyy_MM_dd_HH_mm(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH_mm(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍚庡搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒嗙)
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyy_MM_dd_HH_mm_ss(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
+	}
+	
+
+	/**
+	 * 寰楀埌x灏忔椂鍚庡搴旂殑鏃ユ湡(骞存湀鏃ユ椂)
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyyMMddHH(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMddHH(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍚庡搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒�)
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyyMMddHHmm(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMddHHmm(date) ;
+	}
+	/**
+	 * 寰楀埌x灏忔椂鍚庡搴旂殑鏃ユ湡(骞存湀鏃ユ椂鍒嗙)
+	 * @param xhour x灏忔椂
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXHour_yyyyMMddHHmmss(int xhour){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.HOUR_OF_DAY, xhour<=0?-xhour:xhour);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMddHHmmss(date) ;
+	}
+	
+	
+	
+	//////////////////////////////////////////////////////////////////////////
+
+	/**
+	 * 寰楀埌杩囧幓x澶╂棩鏈�
+	 * @param yyyy_MM_dd 鎸囧畾骞存湀鏃�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXDay_yyyy_MM_dd(String yyyy_MM_dd , int xday) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).parse(yyyy_MM_dd);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x澶╂棩鏈�
+	 * @param yyyyMMdd 鎸囧畾骞存湀鏃�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXDay_yyyyMMdd(String yyyyMMdd , int xday) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMdd", Locale.CHINA).parse(yyyyMMdd);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMdd(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x澶╂棩鏈�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXDay_yyyy_MM_dd(int xday){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x澶╂棩鏈�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXDay_yyyy_MM_dd_HH_ss(int xday){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd_HH_mm_ss(date) ;
+	}
+	/**
+	 * 寰楀埌杩囧幓x澶╂棩鏈�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastXDay_yyyyMMdd(int xday){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?xday:-xday);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMdd(date) ;
+	}
+
+	
+	////////////////////////////////////////////////////////////
+	
+
+	/**
+	 * 寰楀埌灏嗘潵x澶╂棩鏈�
+	 * @param yyyy_MM_dd 鎸囧畾骞存湀鏃�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXDay_yyyy_MM_dd(String yyyy_MM_dd , int xday) throws Exception {
+		Date d = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA).parse(yyyy_MM_dd);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
+		Date date = cal.getTime() ;
+		return DateTime.yyyy_MM_dd(date) ;
+	}
+	/**
+	 * 寰楀埌灏嗘潵x澶╂棩鏈�
+	 * @param yyyyMMdd 鎸囧畾骞存湀鏃�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXDay_yyyyMMdd(String yyyyMMdd , int xday) throws Exception {
+		Date d = new SimpleDateFormat("yyyyMMdd", Locale.CHINA).parse(yyyyMMdd);
+		Calendar cal = Calendar.getInstance();  
+		cal.setTime(d);			
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
+		Date date = cal.getTime() ;
+		return DateTime.yyyyMMdd(date) ;
+	}
+	/**
+	 * 寰楀埌灏嗘潵x澶╂棩鏈�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXDay_yyyy_MM_dd(int xday){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM_dd(date) ;
+	}
+	/**
+	 * 寰楀埌灏嗘潵x澶╂棩鏈�
+	 * @param xday x鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String nextXDay_yyyyMMdd(int xday){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, xday<=0?-xday:xday);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyyMMdd(date) ;
+	}
+
+	
+	////////////////////////////////////////////////////////////
+	
+
+	/**
+	 * 寰楀埌鏄ㄥぉ
+	 * @param thisYear 骞�
+	 * @param thisMonth 鏈�
+	 * @param thisDay 鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String yesterday_yyyy_MM_dd(int thisYear , int thisMonth , int thisDay){
+		int yesterday ;
+		int lastYear ;
+		int lastMonth ;
+		if(thisDay == 1){
+			if(thisMonth == 1 || thisMonth == 2 || thisMonth == 4 || thisMonth == 6 || thisMonth == 8 || thisMonth == 9 || thisMonth == 11 ){
+				yesterday = 31 ;
+			}else if( thisMonth == 3){
+				if(isLeapYear(thisYear)){
+					yesterday = 29 ;
+				}else{
+					yesterday = 28 ;
+				}
+			}else {
+				yesterday = 30 ;
+			}
+			
+			if(thisMonth == 1){
+				lastYear = thisYear - 1 ;
+				lastMonth = 12 ;
+			}else{
+				lastYear = thisYear ;
+				lastMonth = thisMonth - 1 ; 
+			}
+		}else{
+			yesterday = thisDay - 1 ;
+			lastMonth = thisMonth ; 
+			lastYear = thisYear ;
+		}
+		//褰揜TU鐨勬棩鏈熸湭鍒濆鍖栨椂锛屼細鍑虹幇thisDay=0锛岃繖鏃秚hisDay-1 = -1
+		if(yesterday < 0){
+			yesterday = 0 ;
+		}
+		if(lastMonth < 0){
+			lastMonth = 0 ;
+		}
+		if(lastYear < 0){
+			lastYear = 0 ;
+		}
+		return lastYear + "-" 
+			+ (lastMonth > 9?(lastMonth + ""):("0" + lastMonth)) + "-" 
+			+ (yesterday > 9?(yesterday + ""):("0" + yesterday)) ;
+		
+	}
+	
+
+	/**
+	 * 寰楀埌鏄ㄥぉ
+	 * @param thisYear 骞�
+	 * @param thisMonth 鏈�
+	 * @param thisDay 鏃�
+	 * @param thisHour 鏃�
+	 * @param thisMinute 鍒�
+	 * @param thisSecond 绉�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String yesterday_yyyy_MM_dd_hh_mm_ss(int thisYear , int thisMonth , int thisDay, int thisHour, int thisMinute, int thisSecond){
+		int yesterday;
+		int lastYear;
+		int lastMonth;
+		if(thisDay == 1){
+			if(thisMonth == 1 || thisMonth == 2 || thisMonth == 4 || thisMonth == 6 || thisMonth == 8 || thisMonth == 9 || thisMonth == 11 ){
+				yesterday = 31 ;
+			}else if( thisMonth == 3){
+				if(isLeapYear(thisYear)){
+					yesterday = 29 ;
+				}else{
+					yesterday = 28 ;
+				}
+			}else {
+				yesterday = 30 ;
+			}
+			
+			if(thisMonth == 1){
+				lastYear = thisYear - 1 ;
+				lastMonth = 12 ;
+			}else{
+				lastYear = thisYear ;
+				lastMonth = thisMonth - 1 ; 
+			}
+		}else{
+			yesterday = thisDay - 1 ;
+			lastMonth = thisMonth ; 
+			lastYear = thisYear ;
+		}
+		return lastYear + "-" 
+			+ (lastMonth > 9?(lastMonth + ""):("0" + lastMonth)) + "-" 
+			+ (yesterday > 9?(yesterday + ""):("0" + yesterday)) + " " 
+			+ (thisHour > 9?(thisHour + ""):("0" + thisHour)) + ":" 
+			+ (thisMinute > 9?(thisMinute + ""):("0" + thisMinute)) + ":" 
+			+ (thisSecond > 9?(thisSecond + ""):("0" + thisSecond));
+		
+	}
+	
+	/**
+	 * 寰楀埌鏄庡ぉ
+	 * @param thisYear 骞�
+	 * @param thisMonth 鏈�
+	 * @param thisDay 鏃�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String tomorrow_yyyy_MM_dd(int thisYear , int thisMonth , int thisDay){
+		int tomorrow = 0 ;
+		int year = 0 ;
+		int month = 0 ;
+		if(thisDay == 31){
+			if(thisMonth == 1 || thisMonth == 3 || thisMonth == 5 || thisMonth == 7 || thisMonth == 8 || thisMonth == 10){
+				year = thisYear ;
+				month = thisMonth + 1 ;
+				tomorrow = 1 ;
+			}else if(thisMonth == 12){
+				year = thisYear + 1 ;
+				month = 1 ;
+				tomorrow = 1 ;
+			}
+		}else if(thisDay == 30){
+			if(thisMonth == 4 || thisMonth == 6 || thisMonth == 9 || thisMonth == 11){
+				year = thisYear ;
+				month = thisMonth + 1 ;
+				tomorrow = 1 ;
+			}else{
+				year = thisYear ;
+				month = thisMonth ;
+				tomorrow = 31 ;
+			}
+		}else if(thisDay == 29){
+			if(thisMonth == 2){
+				year = thisYear ;
+				month = thisMonth + 1 ;
+				tomorrow = 1 ;
+			}else{
+				year = thisYear ;
+				month = thisMonth ;
+				tomorrow = 30 ;
+			}
+		}else if(thisDay == 28){
+			if(thisMonth == 2){
+				if(!isLeapYear(thisYear)){
+					year = thisYear ;
+					month = thisMonth + 1 ;
+					tomorrow = 1 ;
+				}else{
+					year = thisYear ;
+					month = thisMonth ;
+					tomorrow = 29 ;
+				}
+			}else{
+				year = thisYear ;
+				month = thisMonth ;
+				tomorrow = 29 ;
+			}
+		}else{
+			year = thisYear ;
+			month = thisMonth ;
+			tomorrow = thisDay + 1 ;
+		}
+		return year + "-" 
+			+ (month > 9?(month + ""):("0" + month)) + "-" 
+			+ (tomorrow > 9?(tomorrow + ""):("0" + tomorrow)) ;
+	}
+	
+	
+   ///////////////////////////////////////////////////
+	
+	/**
+	 * 寰楀埌涓婃湀浠�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastMonth_ym(){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, -((Integer.parseInt(dd()))));
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM(date) ;
+	}
+	/**
+	 * 寰楀埌涓婃湀浠�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastMonth_ym(int thisMonth){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		if(thisMonth == 2){
+			cal.add(Calendar.DAY_OF_YEAR, - 30);
+		}else{
+			cal.add(Calendar.DAY_OF_YEAR, - 32);
+		}
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM(date) ;
+	}
+	/**
+	 * 寰楀埌涓婃湀浠�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastMonth_ym(int year , int thisMonth){
+		thisMonth = thisMonth - 1 ;
+		if(thisMonth == 0){
+			year = year - 1 ;
+			thisMonth = 12 ;
+		}
+		return  ("" + year) + "-" + (thisMonth<10?("0"+thisMonth):(""+thisMonth)) ;
+	}
+	/**
+	 * 寰楀埌涓婃湀浠�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastMonth_ymd(int year , int thisMonth , int thisDate){
+		thisMonth = thisMonth - 1 ;
+		if(thisMonth == 0){
+			year = year - 1 ;
+			thisMonth = 12 ;
+		}
+		if(thisMonth == 2){
+			if(isLeapYear(year)){
+				if(thisDate > 29){
+					thisDate = 29 ;
+				}
+			}else{
+				if(thisDate > 28){
+					thisDate = 28 ;
+				}
+			}
+		}else if(thisMonth == 4 || thisMonth == 6 || thisMonth == 9 || thisMonth == 11){
+			if(thisDate > 30){
+				thisDate = 30 ;
+			}
+			
+		}
+		return  ("" + year) + "-" + (thisMonth<10?("0"+thisMonth):(""+thisMonth)) + "-" + (thisDate<10?("0"+thisDate):(""+thisDate)) ;
+	}
+	/**
+	 * 寰楀埌涓婁笂鏈堜唤
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastLastMonth_ym(){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, -((Integer.parseInt(dd())) + 32));
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy_MM(date) ;
+	}
+	/**
+	 * 寰楀埌涓婂勾搴�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static String lastYear(){
+		Date date = new Date();
+		Calendar cal = Calendar.getInstance();
+		cal.add(Calendar.DAY_OF_YEAR, - 365);
+		date.setTime(cal.getTimeInMillis());			
+		return DateTime.yyyy(date) ;
+	}
+	
+	/**
+	 * d1姣攄2鏃ユ湡鏇磋繎杩斿洖1(d1>d2),鐩哥瓑杩斿洖0锛屾洿杩滆繑鍥�-1(d1<d2)
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static int compareDateStrByChar(String d1 , String d2){
+		int r = 0 ;
+		if(d1 == null || d2 == null || d1.length() != d2.length()){
+			return r ;
+		}
+		for(int i = 0 ; i < d1.length() ; i++){
+			if(d1.charAt(i)>d2.charAt(i)){
+				return 1 ;
+			}else{
+				if(d1.charAt(i)<d2.charAt(i)){
+					return -1 ;
+				}
+			}
+		}
+		return r ;
+	}
+	/**
+	 * 涓や釜鏃ユ湡姣旇緝(鏍煎紡濡� 2008-09-09 00:00:00)
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static boolean oneCompareTow( String one , String two){
+		one = one.replaceAll("-", "") ;
+		one = one.replaceAll(" ", "") ;
+		one = one.replaceAll(":", "") ;
+		two = two.replaceAll("-", "") ;
+		two = two.replaceAll(" ", "") ;
+		two = two.replaceAll(":", "") ;
+		long onel = Long.parseLong(one) ;
+		long twol = Long.parseLong(two) ;
+		return onel >= twol ;
+	}
+	
+	/**
+	 * 瀛楃涓插瀷杞彉涓烘暣鏁�
+	 * @return 杞崲鍚庢棩鏈�
+	 */
+	public static long dateTime_str2int(String str){
+		if(str == null || str.trim().equals("")){
+			return 0L ;
+		}
+		str = str.replaceAll("-", "") ;
+		str = str.replaceAll(":", "") ;
+		str = str.replaceAll(" ", "") ;
+		return Long.parseLong(str) ;
+	}
+	
+
+	public static String[] yearGroup1() {
+		int thisYear = Integer.parseInt((new SimpleDateFormat("yyyy"))
+				.format(System.currentTimeMillis()));
+		int len = (thisYear - 2005) + 1;
+		String[] years = new String[len];
+		for (int i = 0; i < len; i++)
+			years[i] = "" + (thisYear - i);
+
+		return years;
+	}
+
+	public static String[] yearGroup2() {
+		return new String[]{"1900", "1901", "1902", "1903", "1904", "1905",
+				"1906", "1907", "1908", "1909", "1910", "1911", "1912", "1913",
+				"1914", "1915", "1916", "1917", "1918", "1919", "1920", "1921",
+				"1922", "1923", "1924", "1925", "1926", "1927", "1928", "1929",
+				"1930", "1931", "1932", "1933", "1934", "1935", "1936", "1937",
+				"1938", "1939", "1940", "1941", "1942", "1943", "1944", "1945",
+				"1946", "1947", "1948", "1949", "1950", "1951", "1952", "1953",
+				"1954", "1955", "1956", "1957", "1958", "1959", "1960", "1961",
+				"1962", "1963", "1964", "1965", "1966", "1967", "1968", "1969",
+				"1970", "1971", "1972", "1973", "1974", "1975", "1976", "1977",
+				"1978", "1979", "1980", "1981", "1982", "1983", "1984", "1985",
+				"1986", "1987", "1988", "1989", "1990", "1991", "1992", "1993",
+				"1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001",
+				"2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009",
+				"2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017",
+				"2018", "2019", "2020", "2021", "2022", "2023", "2024", "2025",
+				"2026", "2027", "2028", "2029"};
+	}
+
+	public static String[] monthGroup() {
+		return new String[] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10",
+				"11", "12" };
+	}
+
+	public static String[] dateGroup() {
+		return new String[] { "01", "02", "03", "04", "05", "06", "07", "08", "09", "10",
+				"11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
+				"21", "22", "23", "24", "25", "26", "27", "28", "29", "30",
+				"31" };
+	}
+
+	public static String[] timeGroup() {
+		return new String[] { "00", "01", "02", "03", "04", "05", "06", "07", "08",
+				"09", "11", "12", "13", "14", "15", "16", "17", "18", "19",
+				"20", "21", "22", "23" };
+	}
+
+	public static int[] dayGrpInMonth(int year, int month){
+		if(month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12){
+ 			return new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31} ;
+		}else{
+			if(month == 2){
+				if(isLeapYear(year)){
+					return new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29} ;
+				}else{
+					return new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28} ;
+				}
+			}else{
+				return new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30} ;
+			}
+		}
+	}
+
+	public static String getWeek(int wk) {
+		if (wk == 1) {
+			return "鏃�";
+		} else if (wk == 2) {
+			return "涓�";
+		} else if (wk == 3) {
+			return "浜�";
+		} else if (wk == 4) {
+			return "涓�";
+		} else if (wk == 5) {
+			return "鍥�";
+		} else if (wk == 6) {
+			return "浜�";
+		} else if (wk == 7) {
+			return "鍏�";
+		}
+		return "";
+	}
+
+	/**
+	 * 鍒ゆ柇鏄惁涓烘鼎骞�
+	 * @param year 骞�
+	 * @return true鎴杅alse
+	 */
+	public static boolean isLeapYear(int year) {
+		return new GregorianCalendar().isLeapYear(year) ;
+    }
+
+		
+	/**
+	 * 寰楀埌浠庝粖澶╄捣寰�鍓嶄竴涓湀鐨勬棩鏈熷垪琛�
+	 * 瑕佹眰涓嶈兘瀛樺湪涓や釜浠ヤ笂鏈堢殑鏃ユ湡锛堝涓婃湀鏄簩鏈堬紝浠婂ぉ鏄�3鏈�1鏃ワ級
+	 * 涓嶅寘鎷綋澶╂棩鏈熷強涓婃湀浠戒笌褰撳墠鏃ョ浉鍚岀殑鏃ユ湡
+	 * @return 鏁扮粍
+	 */
+	public static ArrayList<MonthDateVO> createOneMonthDate(){
+		ArrayList<MonthDateVO> list = new ArrayList<>() ;
+
+		int year = Integer.parseInt(yyyy()) ;
+		int month = Integer.parseInt(MM()) ;
+		int date = Integer.parseInt(dd()) ;
+		
+		int beforeYear = year ;
+		int beforeMonth = month - 1 ;
+		int beforeDate = 31 ;
+		//int thisTotal = date ;
+		int beforeTotal = 31 - date ;
+		if(month == 1){
+			beforeYear = year - 1 ;
+			beforeMonth = 12 ;
+			beforeDate = 31 ;
+		}
+		if(month == 3){
+			beforeMonth = 2 ;
+			if(isLeapYear(year)){
+				beforeDate = 29 ;
+				if(beforeTotal > 29){
+					beforeTotal = 29 ;
+				}
+			}else{
+				beforeDate = 28 ;
+				if(beforeTotal > 28){
+					beforeTotal = 28 ;
+				}
+			}
+			
+		}
+		switch (month) {
+			case 2 -> {
+				beforeMonth = 1;
+				beforeDate = 31;
+			}
+			case 4 -> {
+				beforeMonth = 3;
+				beforeDate = 31;
+			}
+			case 5 -> {
+				beforeMonth = 4;
+				beforeDate = 30;
+			}
+			case 6 -> {
+				beforeMonth = 5;
+				beforeDate = 31;
+			}
+			case 7 -> {
+				beforeMonth = 6;
+				beforeDate = 30;
+			}
+			case 8 -> {
+				beforeMonth = 7;
+				beforeDate = 31;
+			}
+			case 9 -> {
+				beforeMonth = 8;
+				beforeDate = 31;
+			}
+			case 10 -> {
+				beforeMonth = 9;
+				beforeDate = 30;
+			}
+			case 11 -> {
+				beforeMonth = 10;
+				beforeDate = 31;
+			}
+			case 12 -> {
+				beforeMonth = 11;
+				beforeDate = 30;
+			}
+		}
+		int n = 0 ;
+		for(int i = date ; i > 0 ; i--){
+			MonthDateVO vo = new MonthDateVO() ;
+			vo.setDate(year + "-" + month + "-" + (date - n)) ;
+			vo.setIndex(date - n + "") ;
+			if(date - n != date){
+				list.add(vo) ;
+			}
+			n++ ;
+		}
+		n = 0 ;
+		for(int i = beforeTotal ; i > 0 ; i--){
+			MonthDateVO vo = new MonthDateVO() ;
+			vo.setDate(beforeYear + "-" + beforeMonth + "-" + (beforeDate - n)) ;
+			vo.setIndex(beforeDate - n + "") ;
+			if(beforeDate - n != date){
+				list.add(vo) ;
+			}
+			n++ ;
+		}
+		return list ;
+	}
+	
+	
+	/**
+	 * 灏�2009-02-12鏍煎紡鐨勬棩鏈熷垎瑙d负骞� 鏈� 鏃ュ瓧绗︿覆鏁扮粍
+	 * @param ymd 骞存湀鏃�
+	 * @return 瀛楃涓叉暟缁�
+	 */
+	public static String[] altYmd(String ymd){
+		if(ymd == null || ymd.length() < 10){
+			return null ;
+		}
+		String[] s = new String[3] ;
+		s[0] = ymd.substring(0 , 4) ;
+		s[1] = ymd.substring(5 , 7) ;
+		s[2] = ymd.substring(8,10) ;
+		return s ;
+	}
+	/**
+	 * 灏�2009-02-12鏍煎紡鐨勬棩鏈熷垎瑙d负骞� 鏈� 鏃ュ瓧绗︿覆鏁扮粍
+	 * @param ymdhms 骞存湀鏃ユ椂鍒嗙
+	 * @return 鏁扮粍
+	 */
+	public static int[] altYmdhms(String ymdhms) throws Exception{
+		if(ymdhms == null || ymdhms.length() != 19){
+			throw new Exception("涓婃湡鏍煎紡涓嶆纭紝姝g‘鐨勬牸寮忎负 yyyy-MM-dd hh:mm:ss") ;
+		}
+		String[] sg1 = ymdhms.split(" ") ;
+		String[] sg1_1 = sg1[0].split("-") ;
+		String[] sg1_2 = sg1[1].split(":") ;
+		
+		int[] ig = new int[6] ;
+		ig[0] = Integer.parseInt(sg1_1[0]) ;
+		ig[1] = Integer.parseInt(sg1_1[1]) ;
+		ig[2] = Integer.parseInt(sg1_1[2]) ;
+
+		ig[3] = Integer.parseInt(sg1_2[0]) ;
+		ig[4] = Integer.parseInt(sg1_2[1]) ;
+		ig[5] = Integer.parseInt(sg1_2[2]) ;
+		
+		return ig ;
+	}
+
+	
+	public static class MonthDateVO {
+
+		public String date ;
+		public String index ;
+		public String getDate() {
+			return date;
+		}
+		public void setDate(String date) {
+			this.date = date;
+		}
+		public String getIndex() {
+			return index;
+		}
+		public void setIndex(String index) {
+			this.index = index;
+		}
+
+	}
+	
+	
+	public static void main(String[] args){
+		Long now = getTime() ;
+		System.out.println(now);
+//		Long t = lastXMinuteTime(1) ;
+//		System.out.println(t);
+		
+		//3951840342
+		Date dt = getDate(1447857387L) ;
+		String s = yyyy_MM_dd_HH_mm_ss(dt);
+		System.out.println(s);
+
+		System.out.println(lastMonth_ym()) ;
+	}
+
+
+}

--
Gitblit v1.8.0