/**
* 取得前一天的日期
*
* @return
*/
public static String getStringDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cal = Calendar.getInstance();
// 取得当前日期的前一天
cal.add(Calendar.HOUR_OF_DAY, -24);
return sdf.format(cal.getTime());
}
/**
* 当前月的上个月的第一天
*
* @return
*/
public static String getPreviousMonthFirst() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
// 设为当前月的1号
lastDate.set(Calendar.DATE, 1);
// 减一个月,变为上月的1号
lastDate.add(Calendar.MONTH, -1);
str = sdf.format(lastDate.getTime());
return str;
}
/**
* 当前月的上个月的最后一天
*
* @return
*/
public static String getPreviousMonthEnd() {
String str = "";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar lastDate = Calendar.getInstance();
// 减一个月
lastDate.add(Calendar.MONTH, -1);
// 把日期设置为当月第一天
lastDate.set(Calendar.DATE, 1);
// 日期回滚一天,也就是上个月最后一天
lastDate.roll(Calendar.DATE, -1);
str = sdf.format(lastDate.getTime());
return str;
}
/**
* 取得指定时间的前count个月的第一天
*
* @return
*/
public static String getPreviousMonthFirst(Date date, String format,
int count) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Calendar lastDate = Calendar.getInstance();
lastDate.setTime(date);
// 设为当前月的1号
lastDate.set(Calendar.DATE, 1);
// 减一个月,变为上月的1号
lastDate.add(Calendar.MONTH, count);
return sdf.format(lastDate.getTime());
}
/**
* 取得指定时间的前count个月最后一天
*
* @return
*/
public static String getPreviousMonthEnd(Date date, String format, int count) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
Calendar lastDate = Calendar.getInstance();
lastDate.setTime(date);
// 减count个月
lastDate.add(Calendar.MONTH, count);
// 把日期设置为当月第一天
lastDate.set(Calendar.DAY_OF_MONTH, 1);
// 日期回滚一天,也就是上个月最后一天
lastDate.roll(Calendar.DAY_OF_MONTH, -1);
return sdf.format(lastDate.getTime());
}
/**
* 将Date转换成String
*
* @param date
* @return
*/
public static String getStringDate(Date date) {
// 日期格式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
return sdf.format(date);
}
/**
* 将Date转换成String
*
* @param date
* @param format
* @return
*/
public static String getStringDate(Date date, String format) {
// 日期格式
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}
/**
* 字符转成日期
*
* @param dateString
* @return
* @throws ParseException
*/
public static Date getDate(String dateString) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
return sdf.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* 字符转成日期
*
* @param dateString
* @param format
* @return
* @throws ParseException
*/
public static Date getDate(String dateString, String format) {
SimpleDateFormat sdf = new SimpleDateFormat(format);
try {
return sdf.parse(dateString);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
* 得到以当天时间为基础的指定日期
*
* @param field
* <Calendar.HOUR_OF_DAY>
* @param amount
* <-24> 例 Calendar.HOUR_OF_DAY, -24
* @return
*/
public static Date getLatestDate(int field, int amount) {
Calendar calendar = Calendar.getInstance();
calendar.add(field, amount);
return calendar.getTime();
}
/**
* 取得两个时间段的时间间隔天数
*
* @param t1时间1
* @param t2时间2
* @return t2 与t1的间隔天数
*/
public static int getBetweenDays(String t1, String t2) {
int betweenDays = 0;
try {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if (c1.after(c2)) {
c1 = c2;
c2.setTime(d1);
}
int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.DAY_OF_YEAR)
- c1.get(Calendar.DAY_OF_YEAR);
for (int i = 0; i < betweenYears; i++) {
c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1));
betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR);
}
return betweenDays;
} catch (ParseException e) {
e.printStackTrace();
return 0;
}
}
/**
* 取得两个时间段的时间间隔月数
*
* @param t1时间1
* @param t2时间2
* @return t2 与t1的间隔天数
*/
public static int getBetweenMonths(String t1, String t2) {
int betweenDays = 0;
try {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if (c1.after(c2)) {
c1 = c2;
c2.setTime(d1);
}
int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.MONTH) - c1.get(Calendar.MONTH);
for (int i = 0; i < betweenYears; i++) {
c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1));
betweenDays += c1.getMaximum(Calendar.MONTH);
}
// 因为统计到年和月之间的总月数,需要+1
return betweenDays + 1;
} catch (ParseException e) {
e.printStackTrace();
return 0;
}
}
/**
* 返回指定日期格式的日期增加指定天数的日期
*
* @param appDate指定日期
* @param format指定日期格式
* @param days指定天数
* @return 指定日期格式的日期增加指定天数的日期
*/
public static String getFutureDay(String appDate, String format, int days) {
String future = null;
try {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format);
Date date = simpleDateFormat.parse(appDate);
calendar.setTime(date);
calendar.add(Calendar.DATE, days);
date = calendar.getTime();
future = simpleDateFormat.format(date);
} catch (Exception e) {
future = null;
e.printStackTrace();
}
return future;
}
/**
* 返回当前日期的前count个月的日期
*
* @param count倒退的月数
* @param format格式
* @return
*/
public static String getPastMonthDay(int count, String format) {
Calendar calendar = Calendar.getInstance();
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(format);
calendar.add(Calendar.MONTH, -count);
now = calendar.getTime();
return sdf.format(now);
}
分享到:
相关推荐
Date格式化
解决datetime类型用date格式化问题
下面小编就为大家带来一篇Linux下date命令,格式化输出,时间设置方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
js通用日期格式化工具,直接引用该工具类就可以使用,方便快捷,建议大家收藏此工具类,该工具很好的解决了前端页面显示日期格式问题
之前在做app,ios程序员要求将html5的日期(2015年10月15日转换为2015-10-15),这里了用户的错觉来实现,简单粗暴
bootstap-talbe日期格式化,包括mysql数据库,后台为spring mybatis
javascript中Date format(js日期格式化)方法小结.docx
本文实例讲述了PHP日期函数date格式化UNIX时间的方法。分享给大家供大家参考。具体分析如下: 日期函数可以根据指定的格式将一个unix时间格式化成想要的文本输出 使用到函数语法如下 string date (string $Format)...
date格式化想必大家并不陌生吧,本文就来看看javascript中是如何实现的,感兴趣的朋友可以参考下
本文将以yyyy-MM-dd HH:mm:ss为例介绍js date 格式化的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
1.绑定时格式化日期方法: <ITEMSTYLE WIDTH= "18% " > 2.数据控件如DataGrid/DataList等的件格式化日期方法: e.Item.Cell[0].Text = Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString(); 3.用String...
JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss",取时间格式的方法和函数
ajax请求时可以json时间格式的时间转化为你想在界面上显示的任意样式,js全部都封装好了,简单易用
fortran_在fortran中对于Date和Time的操作
按格式化字符串将 String 类型 转换为 sql.date 注意,非 util.date 可视化字符串例如 "yyyy-MM-dd HH:mm:ss
前端开源库-nunjucks-dateNunjucks日期,MomentJS格式日期的Nunjucks插件