整理的一些常用的Java日期时间上面的操作

来源:互联网 发布:javascript 最新版本 编辑:程序博客网 时间:2024/04/30 12:01
package com.cr.test;


import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;


public class JavaTime {
public static void main(String[] args) {
java.util.Date utilDate = new java.util.Date(); 
//将java.util.Date转换为java.sql.Date
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
System.out.println("调用new java.sql.Date(long date)" +
"【long date参数用Date(util类型)的getTime()得到】" +
"能将Date(util类型)转换为Date(sql类型):"+sqlDate);
System.out.println("**********************");
//将java.sql.Date转换为java.util.Date
java.util.Date utilDate1 = new java.util.Date(sqlDate.getTime());
System.out.println("调用new java.util.Date(long date)" +
"【long date参数用Date(sql类型)的getTime()得到】" +
"能将Date(sql类型)转换为Date(util类型):"+utilDate1);
System.out.println("**********************");
//将java.sql.Date直接赋值给java.util.Date,但其得到是一个本地化的java.util.Date
java.util.Date utilDate2 = sqlDate;
System.out.println("将java.sql.Date直接赋值给java.util.Date:"+utilDate2);
System.out.println("**********************");
System.out.println("调用System.currentTimeMillis()得到系统当前时间的时间戳:"+new Timestamp(System.currentTimeMillis()));
System.out.println("**********************");
String strDate = "2016-03-24";
System.out.println("调用java.sql.Date的valueOf(String s)可将字符串转化为java.sql.Date:"+java.sql.Date.valueOf(strDate)); 
System.out.println("**********************");
//通过SimpleDateFormat类来格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化
SimpleDateFormat  format =   new SimpleDateFormat("yyyy-MM-dd"); 
try{   
  //将字符串解析(文本 -> 日期)和规范化
      java.util.Date date = format.parse(strDate);   
      java.sql.Date sqlDate1 = new java.sql.Date(date.getTime()); 
      //将java.util.Date格式化(日期 -> 文本)
      String str=format.format(date);
      System.out.println("调用SimpleDateFormat的parse(String s)将字符串解析成Date(util类型):"+date); 
      System.out.println("**********************");
      System.out.println("调用SimpleDateFormat的format(Date date)将Date(util类型)格式化成字符串:"+str); 
      System.out.println("**********************");
      System.out.println("调用java.sql.Date的toString()可将其转化为字符串:"+sqlDate1.toString());
      System.out.println("**********************");
}   
catch (Exception e) {  
// TODO Auto-generated catch block
e.printStackTrace();


}
//将java.util.Date转换为java.sql.Timestamp
Timestamp nowdate = new Timestamp(utilDate.getTime());
System.out.println("调用new java.sql.Timestamp(long time)将Date(util类型)转换为时间戳:"+nowdate);
System.out.println("**********************");
String datestr = "2016-03-23 11:15:15.555";
//将字符串转换为java.sql.Timestamp
Timestamp ts = Timestamp.valueOf(datestr);
System.out.println("调用java.sql.Timestamp的valueOf(String s)可将字符串转化为java.sql.Date:"+ts);
System.out.println("**********************");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//将java.sql.Timestamp转换为字符串
String str = sdf.format(nowdate);
System.out.println("调用SimpleDateFormat的format()将时间戳格式化成字符串:"+str);
System.out.println("**********************");
System.out.println("调用java.sql.Timestamp的toString()可将其转化为字符串:"+nowdate.toString());
   System.out.println("**********************");
   System.out.println("调用new java.util.Date(long date)" +
"【long date参数用Date(Timestamp类型)的getTime()得到】" +
"能将时间戳转换为Date(util类型):"+new java.util.Date(nowdate.getTime()));
   System.out.println("**********************");
   System.out.println("调用new java.sql.Date(long date)" +
"【long date参数用Date(Timestamp类型)的getTime()得到】" +
"能将时间戳转换为Date(sql类型):"+new java.sql.Date(nowdate.getTime()));
   System.out.println("**********************");
   System.out.println("调用new java.sql.Timestamp(long time)" +
    "将Date(sql类型)转换为时间戳:"+new java.sql.Timestamp(sqlDate.getTime()));
   System.out.println("**********************");
   Calendar cal = Calendar.getInstance();
   //通过Date(util类型)来设定日历时间
   cal.setTime(utilDate);
   cal.set(Calendar.HOUR_OF_DAY, 0);
   cal.set(Calendar.SECOND, 0);
   cal.set(Calendar.MINUTE, 0);
   cal.set(Calendar.MILLISECOND, 001);
   new Timestamp(cal.getTimeInMillis());
   System.out.println("得到日历时间当天的第一个节点的时间戳:"+new Timestamp(cal.getTimeInMillis()));
   System.out.println("**********************");
   System.out.println("得到日历时间当天的第一个节点的Date(util类型):"+new java.util.Date(cal.getTimeInMillis()));
   System.out.println("**********************");
   System.out.println("得到日历时间当天的第一个节点的Date(util类型):"+cal.getTime());
   System.out.println("**********************");
   Calendar cal2 = Calendar.getInstance();
   cal2.setTime(utilDate);
   cal2.set(Calendar.HOUR_OF_DAY, 23);
   cal2.set(Calendar.SECOND, 59);
   cal2.set(Calendar.MINUTE, 59);
   cal2.set(Calendar.MILLISECOND, 999);
   System.out.println("得到日历时间当天的最后一个节点的时间戳:"+new Timestamp(cal2.getTimeInMillis()));
   System.out.println("**********************");
   System.out.println("得到日历时间当天的最后一个个节点的Date(util类型):"+new java.util.Date(cal2.getTimeInMillis()));
   System.out.println("**********************");
   System.out.println("得到日历时间当天的最后一个个节点的Date(util类型):"+cal2.getTime());
   System.out.println("**********************");
   Calendar calendar = Calendar.getInstance();
        calendar.setTime(utilDate);
        calendar.add(Calendar.MONTH, 1);
        int index = calendar.get(Calendar.DAY_OF_MONTH);
        calendar.add(Calendar.DATE, (-index));
        java.sql.Date endDate = new java.sql.Date(calendar.getTime().getTime());
        System.out.println("得到日历时间当月的最后一天:"+endDate);
        System.out.println("**********************");
        Calendar calendar2 = Calendar.getInstance();
        calendar2.setTime(utilDate);
        calendar2.add(Calendar.MONTH, 0);
        calendar2.set(Calendar.DAY_OF_MONTH, calendar2.getMinimum(Calendar.DATE));
        java.sql.Date startDate = new java.sql.Date(calendar2.getTime().getTime());
        System.out.println("得到日历时间当月的第一天:"+startDate);
        System.out.println("**********************");
        Calendar calendar3 = Calendar.getInstance();
        calendar3.setTime(utilDate);
        calendar3.add(Calendar.MONTH, 0);
        calendar3.set(Calendar.DAY_OF_MONTH, calendar3.getMaximum(Calendar.DATE));
        java.sql.Date endDate1 = new java.sql.Date(calendar3.getTime().getTime());
        System.out.println("得到日历时间当月的最后一天:"+endDate1);
        System.out.println("**********************");
        int year = calendar3.get(Calendar.YEAR);  
        System.out.println("得到日历时间的当前年份:" + String.valueOf(year)+"年");  
        System.out.println("**********************");
        //显示月份 (从0开始, 实际显示要加一)  
        int month = calendar3.get(Calendar.MONTH);  
        System.out.println("得到日历时间的当前月份:" + (month + 1)+"月");  
        System.out.println("**********************");
        //本周几  
        int week = calendar3.get(Calendar.DAY_OF_WEEK);  
        System.out.println("得到日历时间的星期 " + week);  
        System.out.println("**********************");
        //今年的第 N 天  
        int DAY_OF_YEAR = calendar3.get(Calendar.DAY_OF_YEAR);  
        System.out.println("得到日历时间是当年的第" + DAY_OF_YEAR+"天"); 
        System.out.println("**********************");
        //本月第 N 天  
        int DAY_OF_MONTH = calendar3.get(Calendar.DAY_OF_MONTH);  
        System.out.println("得到日历时间是当月的第" + String.valueOf(DAY_OF_MONTH)+"天");
        System.out.println("**********************");
        int HOUR_OF_DAY = calendar3.get(Calendar.HOUR_OF_DAY);  
        System.out.println("得到日历时间的小时数:" + HOUR_OF_DAY); 
        System.out.println("**********************");
        calendar3.add(Calendar.HOUR_OF_DAY, 3);
        int HOUR_OF_DAY1 = calendar3.get(Calendar.HOUR_OF_DAY);  
        System.out.println("得到日历时间3个小时以后的小时数;" + HOUR_OF_DAY1); 
        System.out.println("**********************");
        //当前分钟数  
        int MINUTE = calendar3.get(Calendar.MINUTE);  
        System.out.println("得到日历时间的分钟数:" + MINUTE);  
        System.out.println("**********************");
        //15分钟以后  
        calendar3.add(Calendar.MINUTE, 15);  
        MINUTE = calendar3.get(Calendar.MINUTE);  
        System.out.println("得到日历时间15分钟以后的分钟数:" + MINUTE);  
        System.out.println("**********************");
        //30分钟前  
        calendar3.add(Calendar.MINUTE, -30);  
        MINUTE = calendar3.get(Calendar.MINUTE);  
        System.out.println("得到日历时间30分钟前的分钟数:" + MINUTE);  
}
}
0 0
原创粉丝点击