Date date1 = new Date(); Calendar calendar = new GregorianCalendar();
calendar.setTime(date1);
calendar.set(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),0,0,0 ); Date start_time = calendar.getTime();
// 3 月后
calendar.add(Calendar.MONTH, 3);
calendar.add(Calendar.MILLISECOND, -1000);
Date end_time = calendar.getTime();
System.out.println( "当前时间 : " + date1.toString() );
System.out.println("Start time: " + start_time.toString());
System.out.println("End time:" + end_time.toString());
calendar.setTime(date1);
calendar.set(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH),0,0,0 ); Date start_time = calendar.getTime();
// 3 月后
calendar.add(Calendar.MONTH, 3);
calendar.add(Calendar.MILLISECOND, -1000);
Date end_time = calendar.getTime();
System.out.println( "当前时间 : " + date1.toString() );
System.out.println("Start time: " + start_time.toString());
System.out.println("End time:" + end_time.toString());
解决方案 »
- 错在哪?为什么显示不出图像来
- java 中要将字符串20090128012650转换为2009-01-28 01:26:50 如何做,请各位大虾帮忙。
- 引入swing.JOptionPane和 text.DecimalFormat,编译得不出答案
- 断点传送遇到code 403的问题
- 5&2=0 5|2=7 为什么?
- 能跳跃学JAVA吗??
- 请问现在支持 Java 的手机有哪些型号? 顺便也给报一下价格
- 朋友门,继续我们的讨论。这次我更新了源程序及出错提示,请看:(再线等待)
- 那位大哥用过MS SQL Server的JDBC?
- jdk1.3中关于corba的问题?
- 不知道是什么问题哦,哪位高手帮我看看!
- 用文件流对一文件复制,并生产新文件的问题
Start time: Mon Nov 01 00:00:00 CST 2004
End time:Mon Jan 31 23:59:59 CST 2005
* 作成日: 2004/11/01
*
* TODO この生成されたファイルのテンプレートを変更するには次へジャンプ:
* ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
*/
package date;import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;/**
* @author Administrator
*
* TODO この生成された型コメントのテンプレートを変更するには次へジャンプ:
* ウィンドウ - 設定 - Java - コード・スタイル - コード・テンプレート
*/
public class DateSE { public static void main(String[] args) {
// '2004-10-20 12:13:15'
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 2004);
c.set(Calendar.MONTH, 9);
c.set(Calendar.DAY_OF_MONTH, 20);
c.set(Calendar.HOUR_OF_DAY, 12);
c.set(Calendar.MINUTE, 13);
c.set(Calendar.SECOND, 15);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = sdf.format(c.getTime());
System.out.println("now = [" + now + "]");
// start_time = "2004-11-01 00:00:00";
// end_time = "2005-01-31 23:59:29";
System.out.println("StartDay = [" + sdf.format(getStartDay(c.getTime())) + "]");
System.out.println("getEndDaty = [" + sdf.format(getEndDaty(c.getTime())) + "]");
}
public static Date getStartDay(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.MONTH, 1);
c.set(Calendar.DAY_OF_MONTH, c.getActualMinimum(Calendar.DAY_OF_MONTH));
c.set(Calendar.HOUR_OF_DAY, c.getActualMinimum(Calendar.HOUR_OF_DAY));
c.set(Calendar.MINUTE, c.getActualMinimum(Calendar.MINUTE));
c.set(Calendar.SECOND, c.getActualMinimum(Calendar.SECOND));
return c.getTime();
}
public static Date getEndDaty(Date date) {
Calendar c = Calendar.getInstance();
c.setTime(date);
c.add(Calendar.MONTH, 3);
c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
c.set(Calendar.HOUR_OF_DAY, c.getActualMaximum(Calendar.HOUR_OF_DAY));
c.set(Calendar.MINUTE, c.getActualMaximum(Calendar.MINUTE));
c.set(Calendar.SECOND, c.getActualMaximum(Calendar.SECOND));
return c.getTime();
}
}