A. java 獲取前一天起始和結束時間!
public static void main(String[] args){
Date dNow = new Date(); //當前時間
Date dBefore = new Date();
Calendar calendar = Calendar.getInstance(); //得到日歷
calendar.setTime(dNow);//把當前時間賦給日歷
calendar.add(Calendar.DAY_OF_MONTH, -1); //設置為前一天
dBefore = calendar.getTime(); //得到前一天的時間
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //設置時間格式
String defaultStartDate = sdf.format(dBefore); //格式化前一天
defaultStartDate = defaultStartDate+" 00:00:00";
String defaultEndDate = defaultStartDate.substring(0,10)+" 23:59:59";
System.out.println("前一天的起始時間是:" + defaultStartDate);
System.out.println("前一天的結束時間是:" + defaultEndDate);
}
B. java獲取某個日期距離當前日多少天
我比較懶,喜歡使用別人的庫:
org.apache.commons.lang.time.DurationFormatUtils.formatPeriod(long startMillis, long endMillis, String format)
format 與 SimpleDateFormat中的定義一致。
參見:
http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/index.html?org/apache/commons/lang/time/DateUtils.html
C. java獲取某個日期的前一天的方法(有沒有可以直接調用的函數、方法)
用某個日期的「時間毫秒戳」減去1000*60*60*24,然後化為顯示形式即可
比如今天的前一天版-昨天
權
Date d=new Date(System.currentTimeMillis()-1000*60*60*24);
System.out.println(d);
顯示
Tue Jul 26 11:08:22 CST 2011
D. 用java獲取當前時間的前一天的編碼
代碼如下:
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
Date dNow = new Date(); //當前時間
Date dBefore = new Date();
Calendar calendar = Calendar.getInstance(); //得到日歷
calendar.setTime(dNow);//把當前時間賦給日歷
calendar.add(Calendar.DAY_OF_MONTH, -1); //設置為前一天
dBefore = calendar.getTime(); //得到前一天的時間
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //設置時間格式
String defaultStartDate = sdf.format(dBefore); //格式化前一天
String defaultEndDate = sdf.format(dNow); //格式化當前時間
System.out.println("前一天的時間是:" + defaultStartDate);
System.out.println("生成的時間是:" + defaultEndDate);
E. java如何獲取某一天的日期
import java.util.*;
import java.text.*;
class Test
{
public static void main(String[] args)
{
Calendar cal = Calendar.getInstance();
int day = cal.get(DAY_OF_WEEK);
System.out.println("今天是:"+day+"號")
}
}
這個把! 答案補充 哦 把 int day = cal.get(DAY_OF_MONTH ); 把
F. 在java里怎麼取離當前日期最近的一個星期天
packagecom.rxlamo.;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclassTest{
publicstaticvoidmain(String[]args){
//獲取離當前日期最近的一個星期天
getLastSunday();
}
/**
*獲取離當前日期最近的一個星期天
*/
publicstaticvoidgetLastSunday(){
//獲取當前日期
Calendarcalendar=Calendar.getInstance();
//距離上個周日的差值
longdiffTime=0L;
//今天星期幾,註:此處周日=1,周一=2。。。。
intdayOfWeek=calendar.get(Calendar.DAY_OF_WEEK);
System.out.println("toady:"+dayOfWeek);
//如果今天是周日,看需求,是取今天的,還是取上周的
if(dayOfWeek==1){
//取今天
//dayOfWeek=1;
//取上周
dayOfWeek=8;
}
//計算當前時間距離上周日的時差,此處一周的開始從周日算起,根據需要
diffTime=(dayOfWeek-1)*24*60*60*1000;
calendar.setTimeInMillis(System.currentTimeMillis()-diffTime);
//
SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
System.out.println("lastSunday:"+dateFormat.format(calendar.getTime()));
//如果一周的開始從周一計算,並且請注釋掉上面的if(dayOfWeek==1)處判斷,需要重新判斷
if(dayOfWeek==1){
//取今天
//dayOfWeek=0;
//取上周
dayOfWeek=7;
}
diffTime=dayOfWeek*24*60*60*1000;
calendar.setTimeInMillis(System.currentTimeMillis()-diffTime);
System.out.println("lastSunday:"+dateFormat.format(calendar.getTime()));
}
}
有不明白在問我
G. java 怎麼獲取指定日期n天後的日期
Calendar c = Calendar.getInstance();
c.setTimeInMillis(date.getTime());
c.add(Calendar.DATE, amount);
str.formatDate(date4, "yyyy-MM-dd");
//date.getTime() 當前日期
//amount 傳入的N天數
例如:
SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); //字元串轉換
Calendar c = Calendar.getInstance();
//new Date().getTime();這個是獲得當前電腦的時間,你也可以換成一個隨意的時間
c.setTimeInMillis(new Date().getTime());
c.add(Calendar.DATE, 5);//天後的日期
Date date= new Date(c.getTimeInMillis()); //將c轉換成Date
System.out.println("date="+formatDate.format(date4));
H. java 獲取前一周星期天的日期,例如今天2013-8-1,上一周星期日就是2013-7-28
importjava.text.Format;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
publicclass${
publicstaticvoidmain(String[]args){
Formatf=newSimpleDateFormat("yyyy-MM-dd");
Calendarc=Calendar.getInstance();
System.out.println("今天是:"+f.format(c.getTime()));
intdayOfWeek=c.get(Calendar.DAY_OF_WEEK);
intlastSunday=7-dayOfWeek+1;
c.set(Calendar.DAY_OF_MONTH,-lastSunday);
System.out.println("上周日是:"+f.format(c.getTime()));
}
}
今天是:2013-08-01
上周日是:2013-07-28
I. java怎樣獲得當前時間的前幾天
1.java中關於獲取時間的所有方式如下,
Date dNow = new Date(); //當前時間
Date dBefore = new Date();
Calendar calendar = Calendar.getInstance(); //得到日歷
calendar.setTime(dNow);//把當前時間賦給日歷
calendar.add(Calendar.DAY_OF_MONTH, -1); //設置為前一天
dBefore = calendar.getTime(); //得到前一天的時間
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");//設置時間格式
String defaultStartDate = sdf.format(dBefore); //格式化前一天
String defaultEndDate = sdf.format(dNow); //格式化當前時間
System.out.println("前一天的時間是:" + defaultStartDate);
System.out.println("生成的時間是:" + defaultEndDate);
2.如上方式能得到當前時間的前一天時間,同理,可以得到前一天的前一天,那麼,前幾天的時間都可以這樣獲得,如果覺得方案還是不可行,可以使用第三方的日歷組件來獲得更加准確的全年三百六十五天的時間
另有:
Calendar 與 Date 的轉換:
Calendar calendar = Calendar.getInstance();
// 從一個 Calendar 對象中獲取 Date 對象
Date date = calendar.getTime();
// 將 Date 對象反應到一個 Calendar 對象中,
// 先獲得一個實例,然後設置 Date 對象
calendar.setTime(date);
月份的起始值為0而不是1,所以要設置八月時,我們用7而不是8.
calendar.set(Calendar.MONTH, 7);
計算2000-01-01是星期幾
calendar.get(calendar.DAY_OF_WEEK )
3.實例代碼測試如下
Java代碼
importJava.util.*;
publicclassShowDate{
publicstaticvoidmain(String[]args){
Calendarcalendar=newGregorianCalendar();
DatetrialTime=newDate();
calendar.setTime(trialTime);
//
System.out.println("ERA:"+calendar.get(Calendar.ERA));
System.out.println("YEAR:"+calendar.get(Calendar.YEAR));
System.out.println("MONTH:"+calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR:"+calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH:"+calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE:"+calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH:"+calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR:"+calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK:"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH:"+calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM:"+calendar.get(Calendar.AM_PM));
System.out.println("HOUR:"+calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY:"+calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE:"+calendar.get(Calendar.MINUTE));
System.out.println("SECOND:"+calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND:"+calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET:"+(calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("DST_OFFSET:"+(calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
System.out.println("CurrentTime,withhourresetto3");
calendar.clear(Calendar.HOUR_OF_DAY);//sodoesn'toverride
calendar.set(Calendar.HOUR,3);
System.out.println("ERA:"+calendar.get(Calendar.ERA));
System.out.println("YEAR:"+calendar.get(Calendar.YEAR));
System.out.println("MONTH:"+calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR:"+calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH:"+calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE:"+calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH:"+calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR:"+calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK:"+calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH:"+calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
J. Java 怎麼獲取當前時間前一個小時的時間
代碼復如下:Calendar c = Calendar.getInstance();//可以對每制個時間域單獨修改
c.setTime(new Date());
c.set(Calendar.HOUR_OF_DAY, c.get(Calendar.HOUR_OF_DAY) - 1);
這幾步即可獲得當前時間前一個小時