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);
这几步即可获得当前时间前一个小时