java获取当前时间比较_Java 获取当前系统时间方法比较

package com.xjp.common.util;

import java.sql.Timestamp;

import java.text.ParsePosition;

import java.text.SimpleDateFormat;

import java.util.Date;

import com.ttsoft.framework.util.DateUtil;

/**

* Title: 时间获取

* Description: 当前时间

* Copyright: Copyright   2010

* Company:

* @author jiq

* @version 1.0

*/

public class XJPDateUtil extends DateUtil {

public static final String[] months = { "一月", "二月", "三月", "四月", "五月", "六月",

"七月", "八月", "九月", "十月", "十一月", "十二月", };

public static final String[] quarters = { "一季度", "二季度", "三季度", "四季度" };

public XJPDateUtil() {

}

/**

* 获取日期字符串。

*

*


 

*  日期字符串格式: yyyyMMdd

*  其中:

*      yyyy   表示4位年。

*      MM     表示2位月。

*      dd     表示2位日。

*

*

* @return String "yyyyMMdd"格式的日期字符串。

*/

public static String getDate() {

SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

return formatter.format(new Date());

}

/**

* 获取当前年度字符串。

*

*


 

*  日期字符串格式: yyyy

*  其中:

*      yyyy   表示4位年。

*

*

* @return String "yyyy"格式的当前年度字符串。

*/

public static String getNowYear() {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy");

return formatter.format(new Date());

}

/**

* 获取当前月度字符串。

*

*


 

*  日期字符串格式: MM

*  其中:

*      MM   表示4位年。

*

*

* @return String "yyyy"格式的当前月度字符串。

*/

public static String getNowMonth() {

SimpleDateFormat formatter = new SimpleDateFormat("MM");

return formatter.format(new Date());

}

/**

* 获取当前月度字符串。

*

*


 

*  日期字符串格式: dd

*  其中:

*      dd   表示4位年。

*

*

* @return String "yyyy"格式的当前月度字符串。

*/

public static String getNowDay() {

SimpleDateFormat formatter = new SimpleDateFormat("dd");

return formatter.format(new Date());

}

/**

* 获取日期字符串。

*

*


 

*  日期字符串格式: yyyyMMdd

*  其中:

*      yyyy   表示4位年。

*      MM     表示2位月。

*      dd     表示2位日。

*

*

* @param date

*                需要转化的日期。

* @return String "yyyyMMdd"格式的日期字符串。

*/

public static String getDate(Date date) {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

return formatter.format(date);

}

/**

* 获取日期字符串。

*

*


 

*  日期字符串格式: yyyyMMdd

*  其中:

*      yyyy   表示4位年。

*      MM     表示2位月。

*      dd     表示2位日。

*

*

* @param date

*                需要转化的日期。

* @return String "yyyyMMdd"格式的日期字符串。

*/

/**

* 将指定的日期字符串转化为日期对象

*

* @param dateStr

*                日期字符串

* @return java.util.Date

* @roseuid 3F39FE450385

*/

public static Date getDate(String dateStr) {

if (XJPTypeChecker.isDate(dateStr)) { // 日期型

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");

try {

java.util.Date date = df.parse(dateStr);

return date;

} catch (Exception ex) {

Logger.write("日期格式不符合或者日期为空!请检查!");

return null;

} // end try - catch

} else if (XJPTypeChecker.isDatetime(dateStr)) { // 日期时间型

SimpleDateFormat df = new SimpleDateFormat(

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

try {

java.util.Date date = df.parse(dateStr);

return date;

} catch (Exception ex) {

return null;

} // end try - catch

} // end if

return null;

}

/**

* 获取日期字符串。

*

*


 

*  日期字符串格式: yyyy-MM-dd

*  其中:

*      yyyy   表示4位年。

*      MM     表示2位月。

*      dd     表示2位日。

*

*

* @return String "yyyy-MM-dd"格式的日期字符串。

*/

public static String getHyphenDate() {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

return formatter.format(new Date());

}

/**

* 获取日期字符串。

*

*


 

*  日期字符串格式: yyyy-MM-dd

*  其中:

*      yyyy   表示4位年。

*      MM     表示2位月。

*      dd     表示2位日。

*

*

* @param date

*                需要转化的日期。

* @return String "yyyy-MM-dd"格式的日期字符串。

*/

public static String getHyphenDate(Date date) {

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

return formatter.format(date);

}

/**

* 将"yyyyMMdd"格式的日期字符串转换为日期对象。

*

* @param source

*                日期字符串。

* @return Date 日期对象。

*/

public static Date parsePlainDate(String source) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

return sdf.parse(source, new ParsePosition(0));

}

/**

* 将“yyyy-MM-dd”格式的日期字符串转换为日期对象。

*

* @param source

*                日期字符串。

* @return Date 日期对象。

*/

public static Date parseHyphenDate(String source) {

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

return sdf.parse(source, new ParsePosition(0));

}

/**

* 将指定格式的日期字符串转换为日期对象。

*

* @param source

*                日期字符串。

* @param pattern

*                模式。

* @return Date 日期对象。

*/

public static Date parseDate(String source, String pattern) {

SimpleDateFormat sdf = new SimpleDateFormat(pattern);

return sdf.parse(source, new ParsePosition(0));

}

/**

* 将“yyyy-MM-dd”格式的日期字符串转换为“yyyyMMdd”格式的日期字符串。

*

* @param source

*                日期字符串。

* @return String "yyyymmdd"格式的日期字符串。

*/

public static String toPlainDate(String source) {

Date date = parseHyphenDate(source);

SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

return formatter.format(date);

}

/**

* 将“yyyyMMdd”格式的日期字符串转换为“yyyy-MM-dd”格式的日期字符串。

*

* @param source

*                日期字符串。

* @return String "yyyy-MM-dd"格式的日期字符串。

*/

public static String toHyphenDate(String source) {

Date date = parsePlainDate(source);

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

return formatter.format(date);

}

/**

* 获取时间戳,将日期对象转换为时间戳类型。

*

* @param date

*                日期对象

* @return Timestamp 时间戳

*/

public static Timestamp getTimestamp(Date date) {

return new Timestamp(date.getTime());

}

/**

* 获取时间戳,将当前日期转换为时间戳类型。

*

* @return Timestamp 时间戳

*/

public static Timestamp getTimestamp() {

return new Timestamp(new Date().getTime());

}

/**

* 将“yyyyMMdd”格式的日期字符串转换为Timestamp类型的对象。

*

* @param source

*                日期字符串

* @return Timestamp 时间戳

*/

public static Timestamp parseTimestamp(String source) {

Date date = parsePlainDate(source);

return getTimestamp(date);

}

/**

* 获得年度周期

* Example:

* XJPDateUtil.getPeriodYear("20040229" , -1);

* XJPDateUtil.getPeriodYear("20040228" , -1);

* XJPDateUtil.getPeriodYear("20020230" , 2);

*

* @param source

*                时间串

* @param yearPeriod

*                年度周期 -1代表本时间的上一年度,以次类推。

* @return String 时间。

*/

public static String getPeriodYear(String source, int yearPeriod) {

int p = Integer.parseInt(source.substring(0, 4)) + yearPeriod;

String newYear = String.valueOf(p)

+ source.substring(4, source.length());

Date date = parsePlainDate(newYear);

String s = getDate(date);

int ny = Integer.parseInt(s);

int sy = Integer.parseInt(newYear);

while (ny > sy) {

sy--;

ny = Integer.parseInt(getDate(parsePlainDate(String.valueOf(sy))));

}

return String.valueOf(sy);

}

/**

* 获取当前日期和时间

*

* @return String

*/

public static String getCurrentDateStr() {

Date date = new Date();

String str = null;

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");

str = df.format(date);

return str;

}

/**

* 日期相加

*

* @param day

*             天数

* @return 返回相加后的日期

*/

public static String addDate(int day) {

java.util.Calendar c = java.util.Calendar.getInstance();

c.setTimeInMillis(System.currentTimeMillis() + ((long) day) * 24 * 3600

* 1000);

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");

return df.format(c.getTime());

}

/**

* 返回毫秒

*

* @param date

*             日期

* @return 返回毫秒

*/

public static long getMillis(java.util.Date date) {

java.util.Calendar c = java.util.Calendar.getInstance();

c.setTime(date);

return c.getTimeInMillis();

}

/**

* 获取当前日期和时间

* @param format 日期格式 例:yyyy-MM-dd hh:mm

* @return String

*/

public static String getNowDate(String format) {

Date date = new Date();

String str = null;

SimpleDateFormat df = new SimpleDateFormat(format);

str = df.format(date);

return str;

}

/**

* 将strmon的日期减小一个月

* @param mon

* @return

*/

public static String getReduceMonDate(String strmon) {

if (strmon != null && !strmon.equals("")) {

Date mon = parseHyphenDate(strmon);

mon.setMonth(mon.getMonth() - 1);

return getHyphenDate(mon);

} else {

return "";

}

}

public static String getTimeStr(String dateStr){

Date date=getDate(dateStr);

String str = null;

SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");

str = df.format(date);

return str;

}

public static String getTimeStr(){

String str="";

SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");

str = df.format(new Date());

return str;

}

}

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页