package cn.com.qmhd.tools;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class DateUtils {
private static DateUtils dateUtils = null;
private Calendar calendar;
private SimpleDateFormat sdf; public static DateUtils getInstance(){
if (dateUtils==null) {
dateUtils=new DateUtils();
}
return dateUtils;
} /**
* 时间格式转换
* @param date 指定日期
* @param format 日期转换成字符串的格式,例如:"yyyy-MM-dd HH:mm:ss"
*/
public String date(Date date,String format){
sdf=new SimpleDateFormat(format);
String time=sdf.format(date);
return time;
} /**
* 获取当前时间
* @param format 日期转换成字符串的格式,例如:"yyyy-MM-dd HH:mm:ss"
* @return 返回字符串格式当前时间
*/
public String getNowDate(String format){
sdf = new SimpleDateFormat(format);
return sdf.format(new Date());
} //获取当前时间年份
public int getNowYear(){
return Calendar.getInstance().get(Calendar.YEAR);
} //获取当前时间月份
public int getNowMonth(){
return Calendar.getInstance().get(Calendar.MONTH)+1;
} //获取当前时间日期
public int getNowDay(){
return Calendar.getInstance().get(Calendar.DATE);
} //获取当前时间小时
public int getNowHour(){
return Calendar.getInstance().get(Calendar.HOUR_OF_DAY);
} //获取当前时间分钟
public int getNowMinute(){
return Calendar.getInstance().get(Calendar.MINUTE);
} //获取当前时间秒
public int getNowSecond(){
return Calendar.getInstance().get(Calendar.SECOND);
} /**获取指定某天的年、月、日、时、分、秒信息
* @param date 指定日期
* @param str 需要获取日期内信息名称
* @return 返回需要日期信息,当返回值为-1,则输入日期或者获取信息名称有误
*/
public int dateInfos(Date date,String str){
calendar=Calendar.getInstance();
calendar.setTime(date); int year=calendar.get(Calendar.YEAR);
int month=calendar.get(Calendar.MONTH)+1;
int day=calendar.get(Calendar.DATE);
int hour=calendar.get(Calendar.HOUR);
int minute=calendar.get(Calendar.MINUTE);
int second=calendar.get(Calendar.SECOND); if("year".equals(str)){
return year;
}else if("month".equals(str)){
return month;
}else if("day".equals(str)){
return day;
}else if("hour".equals(str)){
return hour;
}else if("minute".equals(str)){
return minute;
}else if("second".equals(str)){
return second;
} return -1;
} /**
* 获取指定日期之前或者之后某月第一天
* @param date 指定日期
* @param month 指定日期之前几月(负数)或者之后几月(正数),当month=0时,则得到指定日期当月
* @param format 指定之前几天(负数)或者之后几天(正数)
* @return 返回字符串格式日期
*/
public String getFirstDay(Date date,int month,String format){
calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.DAY_OF_MONTH,1);
calendar.add(Calendar.MONTH, month); Date getDate=calendar.getTime();
return date(getDate, format);
} /**
* 获取指定日期之前或者之后某月最后一天
* @param date 指定日期
* @param month 指定日期之前几月(负数)或者之后几月(正数),当month=0时,则得到指定日期当月
* @param format 指定之前几天(负数)或者之后几天(正数)
* @return 返回字符串格式日期
*/
public String getLastDay(Date date,int month,String format){
calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, month+1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
calendar.add(Calendar.DAY_OF_MONTH,-1); Date getDate=calendar.getTime();
return date(getDate, format);
} /**
* 获取指定时间前或后几天日期
* @param date 指定日期
* @param day 指定日期之前几天(负数)或者之后几天(正数)
* @param format 日期转换成字符串的格式,例如:"yyyy-MM-dd HH:mm:ss"
* @return time 返回字符串格式日期
*/
public String getBeforeOrAfterDate(Date date,int day,String format){
calendar=Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_MONTH, day); Date getDate=calendar.getTime();
sdf=new SimpleDateFormat(format);
String time=sdf.format(getDate); return time;
} /**
* 获取指定时间前或后几天日期
* @param date 指定日期
* @param day 指定之前几天(负数)或者之后几天(正数)
* @return 返回date类型日期
*/
public int getBeforeOrAfterDay(Date date,int day){
calendar=Calendar.getInstance();
calendar.setTime(date); return calendar.get(Calendar.DATE)+day;
} }

java_method_日期方法的更多相关文章

  1. 【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型

    前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 ...

  2. 高速改动android系统默认日期方法

    高速改动android系统默认日期方法 在android系统的设备上,都有一个默认的開始日期,看过非常多设备,有些设备在没有联网的时候没有同步到系统时间的时候,竟然默认的还是1970年的日期.也见过有 ...

  3. [Java] SoapUI使用Java获取各时间日期方法

    import java.util.*; import java.text.SimpleDateFormat; // current date String dateNew = today() // t ...

  4. java_method_下拉框成json

    List<String[]> proList=service.getUserList(); int nTotal=0; String proJson="["; proJ ...

  5. java_method_下载导入模版

    //调用方法 upDown.download(request, response, request.getRealPath("")+"/output/BlackNumbe ...

  6. java_method_数据去重

    /** * 判断list本身是否有重复数据和标题 * * @param list * @return newList 返回没有重复数据的list */ public List<String[]& ...

  7. mysql 获得当前月1号的日期 和 0点日期方法

    day)) 当月0点时间:2015-12-01 00:00:00 day)) 当月1号时间:2015-12-01 10:45:22 day) 2015-12-01 <!-- 查询上月债权额度 - ...

  8. Long和Date数据类型之间相互转换代码 - 调整时间推前往后,截取long型日期方法。

    SimpleDateFormat DATETIME_SEC_STR = new SimpleDateFormat("yyyyMMddHHmmss"); SimpleDateForm ...

  9. Linux获取时间日期方法

    linux中用shell获取昨天.明天或多天前的日期:在Linux中对man date -d 参数说的比较模糊,以下举例进一步说明:# -d, --date=STRING display time d ...

随机推荐

  1. php练习5——简单的学生管理系统(隐藏控件的使用)

    要求:    程序:gradeManage.html和gradeManage.php          结果       注意:   1.使用隐藏控件时,得在不同表单下,不能在同一个表单下:   2. ...

  2. C语言2048

    这段时间google上有个小游戏挺火的,我也很喜欢,业余时间做个C语言版的. 老规矩先上干货: http://files.cnblogs.com/GhostZCH/2048.rar (.c & ...

  3. ipad在非viewport 1:1下缩放问题

    1.最小会有980宽度,小于980应设置viewport 2.fix元素使用100%指定宽度时,默认会以min-width或980作为尺寸,可以选择给定与页面缩放时触发定宽来设置宽度,或设置设置bod ...

  4. 【技术贴】Maven打包文件增加时间后缀

    构建war包,或者jar包的,时候,maven会自动增加一个版本号和时间放在jar包后面比如poi-3.9-20131115.jar这样子,但是我自己打war包,总是给我生成一个快照的后缀report ...

  5. 实战 SSH 端口转发

    转自实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业 ...

  6. 如何有效申请TI的免费样片

     转自如何有效申请TI的免费样片 TI公司愿意为支持中国大学的师生们的教学.实验.创新实践.竞赛和科研项目,提供有限数量的免费样片.首先需要指出的是:所有的样片申请应该是诚实正当的,所有不恰当的申 ...

  7. 【网络流24题】No.19 负载平衡问题 (费用流)

    [题意] G 公司有 n 个沿铁路运输线环形排列的仓库, 每个仓库存储的货物数量不等. 如何用最少搬运量可以使 n 个仓库的库存数量相同.搬运货物时,只能在相邻的仓库之间搬运. 输入文件示例input ...

  8. PHP的MVC框架 深入解析

    本篇先介绍一下php的MVC实现原理,我们框架的MVC部分也是基于此原理实现的,但是今天的代码并不是框架内的代码,仅仅为说明原理     一.文件结构 建立3个文件夹 controller文件夹存放控 ...

  9. Application对象的使用-数据传递以及内存泄漏

    Application的使用 What is Application Application和Activity,Service一样是android框架的一个系统组件,当android程序启动时系统会创 ...

  10. 没有document.getElementByName

    首先声明的是: document.getElementByName方法没有.document.getElementsByName得到的是标签的数组 document.getElementId得到的是某 ...