Date Format
程序员文章站
2022-07-14 23:52:08
...
public class DateFormate {
/**
* 日期格式化函数 将日期类型转化为字符串类型
* @param date 日期
* @return 字符串形式如: "yyyy-MM-dd"
*/
public String getString(Date date){
SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd");
String str = sdft.format(date);
return str;
}
/**
* 日期格式化函数 将日期类型转化为字符串类型
* @param date 日期
* @return 字符串
*/
public String getString_Date(Date date){
SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String str = sdft.format(date);
return str;
}
/**
* 日期格式化函数 将字符串类型转化为日期类型
* @param str 字符串
* @return 日期
* @throws ParseException
*/
public Date getDate(String str) throws ParseException{
SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
date = sdft.parse(str);
return date;
}
/**
* 日期格式化函数 将字符串类型转化为日期类型
* @param str 字符串
* @return 日期
* @throws ParseException
*/
public Date getDate_sfm(String str){
SimpleDateFormat sdft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
try {
date = sdft.parse(str);
} catch (ParseException e) {
}
return date;
}
public static Date convertStrToDate(String strDate) throws ParseException {
Date date = null;
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(strDate);
return date;
}
/**
* 根据给定的字符串型日期格式,求出两个日期之间相差的月份数
* @param pFormerStr 字符串型日期
* @param pLatterStr 字符串型日期
* @return 月份数
*/
public static int monthsBetween(String pFormerStr, String pLatterStr) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d = null;
Date dd = null;
try {
d = format.parse(pFormerStr);
dd = format.parse(pLatterStr);
} catch (Exception e) {
e.printStackTrace();
}
GregorianCalendar vFormer = (GregorianCalendar) GregorianCalendar
.getInstance();
vFormer.setTime(d);
GregorianCalendar vLatter = (GregorianCalendar) GregorianCalendar
.getInstance();
vLatter.setTime(dd);
return monthsBetween(vFormer, vLatter);
}
/**
* 根据给定的日期,求出两个日期之间相差的月份数
* @param pFormer 日期
* @param pLatter 日期
* @return 月份数
*/
public static int monthsBetween(GregorianCalendar pFormer,
GregorianCalendar pLatter) {
GregorianCalendar vFormer = pFormer, vLatter = pLatter;
boolean vPositive = true;
if (pFormer.before(pLatter)) {
vFormer = pFormer;
vLatter = pLatter;
} else {
vFormer = pLatter;
vLatter = pFormer;
vPositive = false;
}
int vCounter = 1;
while (vFormer.get(vFormer.YEAR) != vLatter.get(vLatter.YEAR)
|| vFormer.get(vFormer.MONTH) != vLatter.get(vLatter.MONTH)) {
vFormer.add(Calendar.MONTH, 1);
vCounter++;
}
if (vPositive)
return vCounter;
else
return -vCounter;
}
/**
* 求给定日期的当前月份
* @param date1 字符串型给定日期
* @return 月份值
* @throws ParseException
*/
public static int getMon(String date1) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d = null;
d = format.parse(date1);
Calendar cal1 = Calendar.getInstance();
cal1.setTime(d);
int returnbool = cal1.get(Calendar.MONTH) + 1;
return returnbool;
}
/**
* 根据年份月份返回某月的最后一天,如2009-05-06返回的是2009-05-31
* @param dateStr 日期
* @return 月份
*/
public static String getMonthL(String dateStr) throws ParseException {
String returndate = dateStr;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
date = format.parse(dateStr);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DAY_OF_MONTH, cal
.getActualMaximum(Calendar.DAY_OF_MONTH));
returndate = format.format(cal.getTime());
return returndate;
}
}
上一篇: RocketMQ实现顺序消息
下一篇: date format
推荐阅读
-
sql怎么按两个字段排序,比如按id和date字段
-
Prototype Date对象 学习_prototype
-
PHP date()函数警告: It is not safe to rely on the system解决方法,saferely_PHP教程
-
Oracle何时使用to_date函数
-
PHP date函数常用时间处理方法_php实例
-
php date()时间函数报错,时区问题解决 UTC PRC CST
-
PHP -time(),date(),mktime()日期与时间函数库_PHP教程
-
php中date函数的时区输出时间有误
-
向Oracle中插入date数据类型
-
js中Date的构造函数解读