クラス日付java変換日付のツールクラス

4478 ワード

このブログを書くには、クラスの日付に対する認識を深め、アルゴリズムを実現する際のいくつかの検証と訓教をまとめなければならない.間違いがあれば指摘してください.感謝します.
毎日同じ理屈
少し寒くて、少し冷たくて、心の中は少し仕方がなくて、私は一人で夜の中で歩いて、少し震えて、体は縮んで、新しいのも震えていて、私は前の道が見えなくて、どこへ行くのか、迷って、胸は少し退屈で、私は周りを見回して、誰もいない街頭は冷たくて、全体の世界が私を放弃すると感じます.足どりが彷徨う間に、涙はとっくに滴り落ちていた......
package com.lingan.common;



import java.sql.Timestamp;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.regex.Pattern;



import org.apache.commons.lang.StringUtils;

import org.apache.commons.logging.Log;

import org.apache.commons.logging.LogFactory;



public class DateUtils {

	private static Log log = LogFactory.getLog(DateUtils.class);

	public final static SimpleDateFormat dateMillTimeFormat = new SimpleDateFormat(

			"yyyyMMddHHmmssSSS");

	public final static SimpleDateFormat dateTimeFormat = new SimpleDateFormat(

			"yyyy-MM-dd HH:mm:ss.SSS");

	public final static java.util.regex.Pattern pattern = Pattern

			.compile("^[0-9]{4}[/-][0-9]{1,2}[/-][0-9]{1,2}( +[0-9]{2}(:[0-9]{2}(:[0-9]{2}\\.?[0-9]{0,3})?)?)?$");



	public synchronized static Date toDate(String date) {

		Date d = null;

		// 20110201==>yyyyMMdd

		// 2011/01/01==>yyyy/MM/dd

		// 2011-01-01==>yyyy-MM-dd

		try {

			if (!pattern.matcher(date).matches()) {

				throw new Exception(date+" is not a date format.");

			}

			String rdate = date.replaceAll("[/ :.-]", "");

			if (rdate.length() < 8) {

				throw new Exception();

			} else {

				while (rdate.length() < 17) {

					rdate += "0";

				}

			}

			d = dateMillTimeFormat.parse(rdate);

		} catch (Exception e) {

			log.error(date + "       .");

		}

		return d;

	}



	public static Date toDate(Timestamp date) {

		return date;

	}



	public static Date toDate(Object date) {

		Date d = null;

		if (date instanceof Date) {

			d = (Date) date;

		} else if (date instanceof String) {

			d = toDate((String) date);

		}

		return d;

	}

	public static Timestamp toTimeStamp(Object obj){

		if (obj==null || StringUtils.isBlank(obj.toString())){

			return null;

		}

		Date date = toDate(obj);

		return new Timestamp(date.getTime());

	}

	public synchronized static String format(Date date) {

		return dateTimeFormat.format(date);

	}



	public synchronized static String format(Timestamp date) {

		return dateTimeFormat.format(date);

	}

	public static String format(Date date, String format) {

		return new SimpleDateFormat(format).format(date);

	}



	public synchronized static String format(Object date) {

		String formatDate = null;

		if (date instanceof Date) {

			formatDate = dateTimeFormat.format((Date) date);

		}

		return formatDate;

	}



	public static void main(String[] args) {

		System.out.println("1:" + DateUtils.toDate("2011"));

		System.out.println("2:" + DateUtils.toDate("2011/12/20"));

		System.out.println("3:" + DateUtils.toDate("2011/12/20 17:20:30"));

		System.out.println("4:" + DateUtils.toDate("2011/12/20 17:20"));

		System.out.println("5:"

				+ DateUtils.toDate(new Timestamp(Calendar.getInstance()

						.getTime().getTime())));

		System.out.println("6:"

				+ DateUtils.format(new Timestamp(Calendar.getInstance()

						.getTime().getTime())));



		System.out.println("10:" + DateUtils.toDate("2010/12/01"));

		System.out.println("11:" + DateUtils.toDate("2011-01-01"));

		System.out.println("12:" + DateUtils.toDate("2010-10-11 15:20:15"));

		System.out.println("13:" + DateUtils.toDate("2010-10-11 15:20"));

		System.out.println("14:" + DateUtils.toDate("2010-10-11 15"));

		System.out.println("15:" + DateUtils.toDate("2010-10-11 15:20:15.235"));

		System.out.println("16:" + DateUtils.toDate("2010-10-11 15:20:15"));

		System.out.println("17:" + DateUtils.toDate("2010-10-11 15:20:15"));

		System.out.println("18:" + DateUtils.toDate("15:12:30"));

		System.out.println("19:" + DateUtils.toDate("15:12:30.563"));

	}

}

これはやはりプロジェクトから持ってきて、自分で現在の予備を保存します.
Photoshopがあってから、私はもう写真を信じません.△Photoshopがなかった時代は、フィルム写真の年代が偽物だったことも少なくなかった.
-------------------------------------------------------------------------------------------------------------------