关于java时间转换及计算的整理

一直都想弄个自己的博客来秀一下,也是想记录一些工作的点点滴滴,今天开始自己的博客生涯,希望自己能够坚持下去,加油!话不多说,接触java不久,最近多次遇到时间的转换和计算,今天在此做个总结:

1.Date类和Calender类

Date用于记录某一个含日期的、精确到毫秒的时间。重点在代表一刹那的时间本身。
  Calendar用于将某一日期放到历法中的互动——时间和年、月、日、星期、上午、下午、夏令时等这些历法规定互相作用关系和互动。Calendar本身代表公历的一个简化缩水版。

Date类常用方法:   

Date date0 = new Date();
Date date1 = new Date(time);

通过get方法可以获取具体的年、月、日、时间戳等信息。注意getYear()方法得到的并不是获取当前年份,而是获取到和1900年的差值。

Calender类常用方法:

Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();

 通过Calendar 方法获取一个Date 的实例。

Calendar 方法获取年月日的方法:

        int year =calendar.get(Calendar.YEAR);

        int month=calendar.get(Calendar.MONTH)+1;

        int day =calendar.get(Calendar.DAY_OF_MONTH);

        int hour =calendar.get(Calendar.HOUR_OF_DAY);

        int minute =calendar.get(Calendar.MINUTE);

        int seconds =calendar.get(Calendar.SECOND);    

2.时间与时间戳相互转换

时间转换为时间戳:

    /*
     * 将时间转换为时间戳
     */
    public static String dateToStamp(String s) throws ParseException{
        String res;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = simpleDateFormat.parse(s);
        long ts = date.getTime();
        res = String.valueOf(ts);
        return res;
    }

时间戳转换为时间:

    /*
     * 将时间戳转换为时间
     */
    public static String stampToDate(String s){
        String res;
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        long lt = new Long(s);
        Date date = new Date(lt);
        res = simpleDateFormat.format(date);
        return res;
    }

3.关于时间的计算

3.1获取当前时间字符串

 /**
  * 获取现在时间
  *
  * @return返回字符串格式 yyyy-MM-dd HH:mm:ss
  */
 public static String getStringDate() {
  Date currentTime = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  String dateString = formatter.format(currentTime);
  return dateString;
 }

3.2给定一个日期型字符串,返回加减n天后的日期型字符串

     public String nDaysAfterOneDateString(String basicDate,int n)   {            SimpleDateFormat df   =   new   SimpleDateFormat("yyyy-MM-dd");            Date tmpDate   =   null;            try   {                tmpDate = df.parse(basicDate);            }            catch(Exception   e){                //   日期型字符串格式错误            }            long nDay=(tmpDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);            tmpDate.setTime(nDay);               return df.format(tmpDate);        }  

    3.3 给定一个日期,返回加减n天后的日期  

       public Date nDaysAfterOneDate(Date   basicDate,int   n)   {            long nDay=(basicDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);            basicDate.setTime(nDay);          return basicDate;        }  

    3.4计算两个日期相隔的天数  

          public int nDaysBetweenTwoDate(String firstString,String secondString)   {            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");            Date firstDate=null;            Date secondDate=null;            try {                firstDate = df.parse(firstString);                secondDate=df.parse(secondString);            }            catch(Exception   e)   {                //   日期型字符串格式错误            }               int nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));            return nDay;        }  

 

 

时间: 2024-10-14 14:03:33

关于java时间转换及计算的整理的相关文章

java 时间转换

/** * 获取现在时间,这个好用 * * @return返回长时间格式 yyyy-MM-dd HH:mm:ss */ public static Date getSqlDate() { Date sqlDate = new java.sql.Date(new Date().getTime()); return sqlDate; } //返回 格式 sqlDate===========2017-06-19 /** * 获取现在时间 * * @return返回长时间格式 yyyy-MM-dd HH

数据库时间和java时间转换 datetime与date转化

一个javabean如下 有四个日期Date类型 createTime, payDate, deliverDate,confirmDate; import java.util.Date; public class Orders { private int oid; private int bid;//箱子号 private int uid;//用户信息,卖家 private String orderCode;//订单号 private int receiver;//买家 private Stri

JAVA时间格式转换大全

Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateForma

Java UNIX时间转换

public static String toLocalTime(String unix) { Long timestamp = Long.parseLong(unix) * 1000; String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date(tmestamp)); return date; }http://www.huiyi8.com/jiaoben/ 网页特效代码 pub

随风笔记之java初级—简单的时间转换

1 package homework7; 2 3 import java.util.Scanner; 4 5 public class Time { 6 static int year; 7 static int month; 8 static int day; 9 static int hour; 10 static int mintue; 11 static int second; 12 public Time(int year,int month,int day,int hour,int

java 时间计算

java 时间计算 2010/12/24 16:00:00 若知道这个时间 如何在后台由这个时间获得昨天的值(即2010/12/23 16:00:00) 同理如何获得前一个月(2010/11/24 16:00:00) 暂不考虑每月的日期长短 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public clas

java 时间格式转换

把2014-5-5 22:02:11:15 这样格式的时间转换成2014年5月5日 SimpleDateFormat in = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat out = new SimpleDateFormat("yyyy年MM月dd日"); String s; try { s = out.format(in.parse("2014-5-5 22:02:11&qu

Java时间日期格式转换 转自:http://www.cnblogs.com/edwardlauxh/archive/2010/03/21/1918615.html

Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @return 返回时间类型 yyyy-MM-dd HH:mm:ss */ public static Date getNowDate() { Date currentTime = new Date(); SimpleDateFormat formatter = new SimpleDateForma

java时间类型的转换

2019-08-12 利用java获取当前时间,并进行格式转换,时间格式和String类型互相转换 1.时间格式转String类型 1 年月日时分秒格式时间的获取和转换为String类型 2 //我要获取当前的日期 3 Date date = new Date(); 4 //设置要获取到什么样的时间 5 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 6 //获取String类型的时间 7 Stri