Java技巧-日期

1.String mydate = "2013-08-29T00:00:00+08:00 ";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
java.util.Date date = sdf.parse(mydate);
mydate = "";
mydate += 1900+date.getYear()+"-";
mydate += 1+date.getMonth()+"-";
mydate += date.getDate();
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(mydate);
//或者
System.out.println(sdf.format(date));

2

Java Calendar获取年、月、日、时间

  Calendar Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));    //获取东八区时间

  int year c.get(Calendar.YEAR);    //获取年
  int month c.get(Calendar.MONTH) 1;   //获取月份,0表示1月份
  int day c.get(Calendar.DAY_OF_MONTH);    //获取当前天数
  int first c.getActualMinimum(c.DAY_OF_MONTH);    //获取本月最小天数
  int last c.getActualMaximum(c.DAY_OF_MONTH);    //获取本月最大天数
  int time c.get(Calendar.HOUR_OF_DAY);       //获取当前小时
  int min c.get(Calendar.MINUTE);          //获取当前分钟
  int xx c.get(Calendar.SECOND);          //获取当前秒

 

  SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  String curDate s.format(c.getTime());  //当前日期
  System.out.println("当前时间:"+year "-" month "-"+ day "+time ":" min +":" xx);
  System.out.println("第一天和最后天:" first +"," last);

  System.out.println("当前日期curDate====:" curDate);

 

输出结果:

当前时间:2012-9-25 22:50:54
第一天和最后天:1,30

当前日期curDate:2012-09-25 22:50:54

 

Calendar的计算

  c.add(Calendar.YEAR, 1);
  c.add(Calendar.MONTH, 1);
  c.add(Calendar.DAY_OF_MONTH, 1);
  int year2 c.get(Calendar.YEAR);
  int month2 c.get(Calendar.MONTH) 1;
  int day2 c.get(Calendar.DAY_OF_MONTH);
  int firstD c.getActualMinimum(c.DAY_OF_MONTH);
  int lastD c.getActualMaximum(c.DAY_OF_MONTH);
  System.out.println("当前时间:"+year2 "-" month2 "-"+ day2 "+time ":" min +":" xx);
  System.out.println("第一天和最后天:" firstD +"," lastD);

 

输出结果:

当前时间:2013-10-26 23:4:3
第一天和最后天:1,31



获取上个月的年、月、日

Calendar c=Calendar.getInstance();

c.add(Calendar.MONTH, -1);//上个月

SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String year=String.valueOf(c.get(Calendar.YEAR));

String topDay String.valueOf(c.getActualMinimum(Calendar.DAY_OF_MONTH));

String lastDay String.valueOf(c.getActualMaximum(Calendar.DAY_OF_MONTH)); 

//上个月

String lastMonth=String.valueOf(c.get(Calendar.MONTH)+1).length()==2?String.valueOf(c.get(Calendar.MONTH)+1):"0"+String.valueOf(c.get(Calendar.MONTH)+1);

String topDayMonth=year+"-"+lastMonth+"-"+"01" 00:00:00";

String lastDayMonth year+"-"+lastMonth+"-"+lastDay+ 23:59:59";

System.out.println("###year:" year);

System.out.println("###last month:" lastMonth);

        System.out.println("###topday:" topDayMonth);

        System.out.println("###lastday:" lastDayMonth);



输出结果

###year:2013

###last month:04

###topday:2013-04-01 00:00:00

###lastday:2013-04-30 23:59:59


3.从数据库获取时间

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd"); 

 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date1;

 

Date date2;

Time time2;

Timestamp timestamp2;


Timestamp  timestamp3;

while(rs.next()){

date1 = rs.getDate("date1");//获取date类型中的日期


date2 = rs.getTimestamp("date2");//获取datetime类型中的日期部分

time1 = rs.getTime("date2");//获取datetime类型中的时间部分

timestamp2 = rs.getTimestamp("date2");//获取datetime类型中的日期和时间

//或者date2 = rs.getTimestamp("date2");//多态



timestamp3 = rs.getTimestamp("date3");

 

   System.out.println(sdf.format(date1t));

 

System.out.println(sdf1.format(date2t));

System.out.println(sdf1.format(time2));

System.out.println(sdf1.format(timestamp2));

 

System.out.println(sdf1.format(timestamp3));

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值