如上,谁有类似的代码,请教下
解决方案 »
- 關於全域變數怎麼使用呀
- 求助一条正则表达式
- javac编译的时候正确,用java运行,出现如下错误:Exception in thread "main" java.lang.NoClassDefFoundError:f:\zhourui
- jdk和jcrearer怎么用
- 很简单的问题:Class.forName("sun.jdbc.odbc.jdbcOdbcDriver")出错,帮忙!!!
- JavaFX 中怎么得不到创建的按钮的大小??
- 使用hudson+svn+maven持续化集成的时候抛出异常如下
- 请问在哪里能查找到比较全面的类(所有包里面的类)及各类所属的常量及方法??
- 关于Date类
- JTable中如何停止编辑?
- system.gc()方法的使用
- 《代码大全第二版》书中的小疑问
select sysdate,add_months(sysdate,-12) from dual; --减1年
select sysdate,add_months(sysdate,-1) from dual; --减1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual;
--减1星期
select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual;
--减1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from
dual; --减1小时
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from
dual; --减1分钟
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS')
from dual; --减1秒
Date date = new Date(System.currentTimeMillis()) ;
int month = date.getMonth() ;
if(0<=month&& month<=2){
System.out.println("09月30日");
}
if(3<=month&& month<=5){
System.out.println("12月31日");
}
if(6<=month&& month<=8){
System.out.println("03月31日");
}if(9<=month&& month<=11){
System.out.println("06月30日");
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar lastDate = Calendar.getInstance();
int month = (lastDate.get(Calendar.MONTH)) + 1;
if(month==1||month==4||month==7||month==10) {
lastDate.add(Calendar.MONTH, -4);//日期减4个月
lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天
lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天
str = sdf.format(lastDate.getTime());
System.out.println(str);
}else if(month==2||month==5||month==8||month==11) {
lastDate.add(Calendar.MONTH, -5);// 日期减5个月
lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天
lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天
str = sdf.format(lastDate.getTime());
System.out.println(str);
}else {
lastDate.add(Calendar.MONTH, -6);//日期减6个月
lastDate.set(Calendar.DATE, 1);// 把日期设置为当月第一天
lastDate.roll(Calendar.DATE, -1);// 日期回滚一天,也就是本月最后一天
str = sdf.format(lastDate.getTime());
System.out.println(str);
}
思路要开阔一些,事情没那么复杂另外,huage1998好像没有考虑年的部分
* 取得上上季度最后一天日期
* @param date 日期
* @return
*/
public String getLastDay(Date date){
//取得日历
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
// 日历减6个月,即上上季度
calendar.add(Calendar.MONTH,-6);
int year = calendar.get(Calendar.YEAR);// 上上季度的年份
int mouth = calendar.get(Calendar.MONTH);// 上上季度的月份
String mmdd = "";// 月/日
// 根据月份,判断是哪个季度
switch( mouth){
case 1:
case 2:
case 3:
mmdd = "3/31"; // 第一季度最后一天是3/31
break;
case 4:
case 5:
case 6:
mmdd = "6/30"; // 第二季度最后一天是6/30
break;
case 7:
case 8:
case 9:
mmdd = "9/30";// 第三季度最后一天是9/30
break;
case 10:
case 11:
case 12:
mmdd = "12/31";// 第四季度最后一天是12/31
break;
}
String lastDate = String.valueOf(year) + "/" + mmdd;
System.out.println(lastDate);
return lastDate;
}
int mouth = calendar.get(Calendar.MONTH) + 1;// 上上季度的月份