java同期_Java日期处理-本期,同期,上期

在做项目时候,有时需要给日期的查询条件在后台用java赋初始值,比如现在时间是2015-04-12,日期下拉框需要第一次默认的查询的起止日期为2015-04-01至2015-04-12则可以如下处理:

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.GregorianCalendar;

public class TestCalendar1 {

/**

* @param args

*/

public static void main(String[] args) {

getCurrentMonthStartDate("yyyy-MM-dd");

getCurrentDate("yyyy-MM-dd");

}

/**

* 获取当前月一号时间

* @param str

* @return

*/

public static String getCurrentMonthStartDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = Calendar.getInstance();

date.set(Calendar.DAY_OF_MONTH, 1);

System.out.println("当前月一号时间:"+sdf.format(date.getTime()));

return sdf.format(date.getTime());

}

/**

* 获取当前日期

* @param str

* @return

*/

public static String getCurrentDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = new GregorianCalendar();

System.out.println("当前日期:"+sdf.format(date.getTime()));

return sdf.format(date.getTime());

}

}

执行后输出结果为:

当前月一号时间:2015-04-01

当前日期:2015-04-12

注意:Calendar.getInstance()和new GregorianCalendar()效果一样,通过查看java源码getInstance()方法是实例化了一个GregorianCalendar

上期时间:

public static String getLastMonthDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = Calendar.getInstance();

date.add(Calendar.MONTH, -1);

System.out.println("上期日期:"+sdf.format(date.getTime()));

return sdf.format(date.getTime());

}

结果:

上期日期:2015-03-12

同期日期:

public static String getLastYearCurrentDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = new GregorianCalendar();

date.add(Calendar.YEAR, -1);

System.out.println("同期日期:"+sdf.format(date.getTime()));

return sdf.format(date.getTime());

}

结果:

同期日期:2014-04-12

类似还有很多:

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.GregorianCalendar;

public class TestCalendar {

/**

* @param args

*/

public static void main(String[] args) {

System.out.println("当前日期:"+getCurrentDate("yyyy-MM-dd"));//当前日期:2015-04-11

System.out.println("同期日期:"+getLastYearCurrentDate("yyyy-MM-dd"));//同期日期:2014-04-11

System.out.println("上期日期:"+getLastMonthDate("yyyy-MM-dd"));//上期日期:2015-03-11

System.out.println("当前月一号日期:"+getCurrentMonthStartDate("yyyy-MM-dd"));//当前月一号日期:2015-04-01

System.out.println("同期月一号日期:"+getLastYearCurrentMonthStartDate("yyyy-MM-dd"));//同期月一号日期:2014-04-01

System.out.println("当前年一月一号:"+getCurrentYearStartDate("yyyy-MM-dd"));//当前年一月一号:2015-01-01

System.out.println("去年一月一号"+geLastYearStartDate("yyyy-MM-dd"));//去年一月一号2014-01-01

}

/**

* 获取当前日期

* @param str

* @return

*/

public static String getCurrentDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = new GregorianCalendar();

return sdf.format(date.getTime());

}

/**

* 获取去年同一时间

* @param str

* @return

*/

public static String getLastYearCurrentDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = new GregorianCalendar();

date.add(Calendar.YEAR, -1);

return sdf.format(date.getTime());

}

/**

* 获取上个月同一时间

* @param str

* @return

*/

public static String getLastMonthDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

//Calendar date = new GregorianCalendar();

Calendar date = Calendar.getInstance();

/*

* Calendar.getInstance()和new GregorianCalendar()效果一样

* Calendar.getInstance()查看其getInstance()方法也是实例化了GregorianCalendar()

*/

date.add(Calendar.MONTH, -1);

return sdf.format(date.getTime());

}

/**

* 获取当前月一号时间

* @param str

* @return

*/

public static String getCurrentMonthStartDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = Calendar.getInstance();

//date.set(Calendar.DATE, 1);

date.set(Calendar.DAY_OF_MONTH, 1);//DATE和DAY_OF_WEEK效果一样,都是指一个月中的某天

return sdf.format(date.getTime());

}

/**

* 获取去年当前月一号

* @param str

* @return

*/

public static String getLastYearCurrentMonthStartDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = Calendar.getInstance();

date.add(Calendar.YEAR, -1);

date.set(Calendar.DATE, 1);

return sdf.format(date.getTime());

}

/**

* 获取今年一月一号

* @param str

* @return

*/

public static String getCurrentYearStartDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = Calendar.getInstance();

date.set(date.get(Calendar.YEAR), 0, 1);

return sdf.format(date.getTime());

}

/**

* 获取去年一月一号

* @param str

* @return

*/

public static String geLastYearStartDate(String str){

SimpleDateFormat sdf = new SimpleDateFormat(str);

Calendar date = Calendar.getInstance();

date.set(date.get(Calendar.YEAR)-1, 0, 1);

return sdf.format(date.getTime());

}

}

结果:

当前日期:2015-04-12

同期日期:2014-04-12

上期日期:2015-03-12

当前月一号日期:2015-04-01

同期月一号日期:2014-04-01

当前年一月一号:2015-01-01

去年一月一号2014-01-01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值