Java 时间工具类

java

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

 1.Calendar 转化 String 

 //获取当前时间的具体情况,如年,月,日,week,date,分,秒等 
Calendar calendat =

Calendar.getInstance();

SimpleDateFormat

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

String dateStr = sdf.format(calendar.getTime());


2.String 转化Calendar

String

str="2010-5-27";

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

Date

date =sdf.parse(str);

Calendar

calendar = Calendar.getInstance();

calendar.setTime(date);

3.Date

转化String

SimpleDateFormat

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

String

dateStr=sdf.format(new Date());

4.String

转化Date

String str="2010-5-27";

SimpleDateFormat

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

Date

birthday = sdf.parse(str);

5.Date

转化Calendar

Calendar

calendar = Calendar.getInstance();

calendar.setTime(new java.util.Date());

6.Calendar转化Date

Calendar

calendar = Calendar.getInstance();

java.util.Date date =calendar.getTime();

7.Date

转成 String

System.out.println(sdf.format(new

Date())); 

8.String

转成

Timestamp

Timestamp

ts = Timestamp.valueOf("2011-1-14 08:11:00");

9.Timestamp

转成 String

sdf.format(ts);

Timestamp和Date多数用法是一样的。

10.Date

TimeStamp

SimpleDateFormat

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

String

time = df.format(new Date());

Timestamp

ts = Timestamp.valueOf(time);

11.日期比较大小

String

ti="2010-11-25 20:11:00";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd

HH:mm:ss"); 

Date time=sdf.parse(ti);

String

ti2="2011-11-26 20:11:00";

Date time2=sdf.parse(ti2);

int

c=ti2.compareTo(ti);

if(c>0){

    System.out.println(ti+"大");

}else if(c==0){

   

System.out.println("一样大");

}else{

    System.out.println(ti2+"大");

}

12.Date/

Timestamp 转成

Calendar 

Calendar

calendar = Calendar.getInstance();

calendar.setTime(startDate);

calendar.add(Calendar.YEAR,

2);   //日期加2年

System.out.println(calendar.getTime());

calendar.add(Calendar.DATE, -30);     //日期加30天

System.out.println(calendar.getTime());

calendar.add(Calendar.MONTH, 3);  //日期加3个月

System.out.println(calendar.getTime());

13.将毫秒数转为String

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Timestamp scurrtest = new Timestamp(millis);
String time=sdf.format(scurrtest);

              public static String

convert(Timestamp time) {

                     SimpleDateFormat df = new

SimpleDateFormat("yyyy-MM-dd

HH:mm:ss");

                     String result =

df.format((Date) time);

                     return

result;

              }

         

              public static

Timestamp getNow() {

                     Date date = new

Date();

                     SimpleDateFormat simDate = new

SimpleDateFormat("yyyy-MM-dd

HH:mm:ss");

                     Timestamp now=Timestamp.valueOf(simDate.format(date));

                     return now;

              }

             

         

              public static String

dateConvertToString(Date date){

                     SimpleDateFormat formatter

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

                     String time =

formatter.format(date);//格式化数据

                     return time;

              }

    //根据传入的日期计算距今多少天

    public static Integer getValidDays(Date date){
        int days=0;
        Date now=new Date();
        int i = now.compareTo(date);
        if (i>0) {
          return 0;
        }else{
          days = (int) Math.abs((now.getTime() - date.getTime())
          / (24 * 60 * 60 * 1000));
        }

       return days;
     }

      

        

              public static

Long  getTime(){

                       Date dt= new

Date();

                       Long time= dt.getTime();

                     return time;

              }

             

            

              public static

Calendar convertToCalendar(String date) throws

ParseException{

                     Date d = new

SimpleDateFormat("yyyy-MM-dd").parse(date);

                     Calendar cal=Calendar.getInstance();

                     cal.setTime(d);

                     return cal;

                    

              }

      

             

              public static void

main(String[] args) throws ParseException { 

                      Calendar now = Calendar.getInstance(); 

                      System.out.println("年: " +

now.get(Calendar.YEAR)); 

                      System.out.println("月: " +

(now.get(Calendar.MONTH) + 1) + ""); 

                      System.out.println("日: " +

now.get(Calendar.DAY_OF_MONTH)); 

                      System.out.println("时: " +

now.get(Calendar.HOUR_OF_DAY)); 

                      System.out.println("分: " +

now.get(Calendar.MINUTE)); 

                      System.out.println("秒: " +

now.get(Calendar.SECOND)); 

                      System.out.println("当前时间毫秒数:" +

now.getTimeInMillis()); 

                      System.out.println("当前月的天数:" +

now.getActualMaximum(Calendar.DATE)); 

                

                      System.out.println(now.getTime()); 

                     

                      //给定日期查看最大数

                      now.set(Calendar.YEAR,2002);  

                      now.set(Calendar.MONTH,6);//7月  

                      int   maxDate   =  

now.getActualMaximum(Calendar.DATE);

               

                      Date d = new

Date(); 

                      System.out.println(d); 

                      SimpleDateFormat sdf = new

SimpleDateFormat("yyyy-MM-dd

HH:mm:ss"); 

                      String dateNowStr = sdf.format(d); 

                      System.out.println("格式化后的日期:" +

dateNowStr); 

                       

                      String str = "2012-1-13 17:26:33";  //要跟上面sdf定义的格式一样 

                      Date today = sdf.parse(str); 

                      System.out.println("字符串转成日期:" +

today); 

          

}  

/**
* 计算两个日期之间的天数
*/
public class DateUtils {
public static Integer daysBetween(Date smdate, Date bdate){
try{
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
smdate=sdf.parse(sdf.format(smdate));
bdate=sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days=(time2-time1)/(1000*3600*24);
return Integer.parseInt(String.valueOf(between_days));
}catch (Exception e){
throw new RuntimeException("The Date sub error");
}
}

/**
* 自然年加法
* @param date
* @return
*/
public static Date getAddDate(Date date,Integer year){
try{
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.YEAR, year);
date = calendar.getTime();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateStr = simpleDateFormat.format(date);
Date parse = simpleDateFormat.parse(dateStr);
return parse;
}catch (Exception e){
throw new RuntimeException("The Date add error");
}
}

    /**

     *

     * @param 要转换的毫秒数

     * @return 该毫秒数转换为 * days * hours * minutes * seconds 后的格式

     * @author fy.zhang

     */

    public static String formatDuring(long mss) {

        long days = mss / (1000 60 60 24);

        long hours = (mss % (1000 60 60 24)) / (1000 60 60);

        long minutes = (mss % (1000 60 60)) / (1000 60);

        long seconds = (mss % (1000 60)) / 1000;

        return days + " days " + hours + " hours " + minutes + " minutes "

                + seconds + " seconds ";

    }




 

 

以上是 Java 时间工具类 的全部内容, 来源链接: utcz.com/z/391703.html

回到顶部