java 获取当前系统时间 时间比较

JAVA获得当前时间的几种方法


一. 获取当前系统时间和日期并格式化输出:

import java.util.Date;
import java.text.SimpleDateFormat;

public class NowString {
public static void main(String[] args) { 
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
System.out.println(df.format(new Date()));// new Date()为获取当前系统时间
}
}

二. 在数据库里的日期只以年-月-日的方式输出,可以用下面两种方法:

1、用convert()转化函数:

String sqlst = "select convert(varchar(10),bookDate,126) as convertBookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";

System.out.println(rs.getString("convertBookDate"));

2、利用SimpleDateFormat类:

先要输入两个java包:

import java.util.Date;
import java.text.SimpleDateFormat;

然后:

定义日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);

sql语句为:String sqlStr = "select bookDate from roomBook where bookDate between '2007-4-10' and '2007-4-25'";

输出:

System.out.println(df.format(rs.getDate("bookDate")));

 

************************************************************

java中获取当前日期和时间的方法
 

import java.util.Date; 
import java.util.Calendar; 

import java.text.SimpleDateFormat; 

public class TestDate{ 
public static void main(String[] args){ 
Date now = new Date(); 
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//可以方便地修改日期格式


String hehe = dateFormat.format( now ); 
System.out.println(hehe); 

Calendar c = Calendar.getInstance();//可以对每个时间域单独修改

 


int year = c.get(Calendar.YEAR); 
int month = c.get(Calendar.MONTH); 
int date = c.get(Calendar.DATE); 
int hour = c.get(Calendar.HOUR_OF_DAY); 
int minute = c.get(Calendar.MINUTE); 
int second = c.get(Calendar.SECOND); 
System.out.println(year + "/" + month + "/" + date + " " +hour + ":" +minute + ":" + second); 

}

 有时候要把String类型的时间转换为Date类型,通过以下的方式,就可以将你刚得到的时间字符串转换为Date类型了。

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

java.util.Date time=null;
try {
   time= sdf.parse(sdf.format(new Date()));

} catch (ParseException e) {

   e.printStackTrace();
}

 


Java中日期时间比较

java.text.SimpleDateFormat 类 ----时间日期格式化

java.util.Date类 ----构造时间日期

java.util.Date类compareTo方法 ----比较日期时间

     java中日期时间的比较要用到java.text.SimpleDateFormat 类和java.util.Date类compareTo方法,SimpleDateFormat类用于时间日期格式化,将日期时间格式化为制定的格式,compareTo方法用于比较日期时间。以下为我写过的程序片段:

String data=doc.getItemValueString("fd_ngr");

//拟稿时间

String  data4=data.substring(data.indexOf(' '),data.length());

int panduan=data4.indexOf("-");

int panduan1=data4.indexOf("/");

ec_dbsy=vi_dbsy.getAllEntries();

//构造日期格式yyyy-MM-NN

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

SimpleDateFormat formatter2 = new SimpleDateFormat("MM/dd/yyyy");

if(data4.length()!=0)

{

       if (panduan!=-1){

       try {

              Date date1 = formatter.parse(data4);

              Date date0=new Date();

              Date date2 =formatter.parse("2006-08-31");

              Date date3=formatter.parse("2006-07-01");

                                                

              int number1=date1.compareTo(date2);

              int number2=date1.compareTo(date3);

             

              //返回 0 表示时间日期相同

              //返回 1 表示日期1>日期2

              //返回 -1 表示日期1<日期2

              if( number2==1)

              {

                     if(number1==-1)

                     {    

                            System.out.println("日期格式符合要求!");

                         System.out.println("日期格式符合要求的yyyy-MM-dd的文档ID是:"+doc.getUniversalID());

                     String mPath="\\"+"\\10.52.4.4\\d$\\Program Files\\WebSphere\\AppServer\\installedApps\\oa1\\oaWeb20061030_war.ear\\oaWeb20061030.war\\doc_fw";

                     DaglImpl daglImpl = new DaglImpl();

                     daglImpl.addFW(doc,mPath);  //归档处理

                    

                                   }

                            }

                                           

                     } catch (ParseException e) {

                                    e.printStackTrace();

              }

        }





java中时间比较大小

分类: JAVA   1062人阅读  评论(0)  收藏  举报

方法一:

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

String dateBegin=fmt.format(carrierCommand.getDateBegin()); 

String dateEnd=fmt.format(carrierCommand.getDateEnd()); 

//如果获得的日期格式不是'2008-05-22',就必须要格式化一下日期 

String dateBegin = request.getParameter("dateBegin"); 

String dateEnd = request.getParameter("dateEnd"); 

if(java.sql.Date.valueOf(dateBegin).after(java.sql.Date.valueOf(dateEnd))){ 

//起始日期大于结束日期 

errors.rejectValue("dateEnd", null, "起始日期必须小于结束日期!"); 

StringBuffer timeBegin = new StringBuffer(); 

StringBuffer timeEnd = new StringBuffer(); 

timeBegin.append(request.getParameter("timeBegin")); 

timeEnd.append(request.getParameter("timeEnd")); 

timeBegin.append(":00"); 

timeEnd.append(":00"); 

if(java.sql.Date.valueOf(dateBegin).equals(java.sql.Date.valueOf(dateEnd))) 

{ //起始日期等于结束日期 

if(java.sql.Time.valueOf(timeBegin.toString()).equals(java.sql.Time.valueOf 

(timeEnd.toString())))//时间相同 

errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!"); 

if(java.sql.Time.valueOf(timeBegin.toString()).after(java.sql.Time.valueOf 

(timeEnd.toString())))//时间相同 

errors.rejectValue("timeEnd", null, "起始与结束日期相同,起始时间必须小于结束时间!"); 

}

方法二:

import java.text.DateFormat;

import java.text.SimpleDateFormat;

import java.util.Date; 

/**

*

* @author hp

*/

public class test {

public static void main(String args[]) {

int i= compare_date("1995-11-12 15:21", "1999-12-11 09:59");

System.out.println("i=="+i);

}

public static int compare_date(String DATE1, String DATE2) {

DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm");

try {

Date dt1 = df.parse(DATE1);

Date dt2 = df.parse(DATE2);

if (dt1.getTime() > dt2.getTime()) {

System.out.println("dt1 在dt2前");

return 1;

} else if (dt1.getTime() < dt2.getTime()) {

System.out.println("dt1在dt2后");

return -1;

} else {

return 0;

}

} catch (Exception exception) {

exception.printStackTrace();

}

return 0;

}

}

方法三:

比如:现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

java计算时间差及比较时间大小

比如:现在是2004-03-26 13:31:40

过去是:2004-01-02 11:30:24

我现在要获得两个日期差,差的形式为:XX天XX小时XX分XX秒

一:

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

try

{

Date d1 = df.parse("2004-03-26 13:31:40");

Date d2 = df.parse("2004-01-02 11:30:24");

long diff = d1.getTime() - d2.getTime();

long days = diff / (1000 * 60 * 60 * 24);

}

catch (Exception e)

{

}

二:

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

java.util.Date now = df.parse("2004-03-26 13:31:40");

java.util.Date date=df.parse("2004-01-02 11:30:24");

long l=now.getTime()-date.getTime();

long day=l/(24*60*60*1000);

long hour=(l/(60*60*1000)-day*24);

long min=((l/(60*1000))-day*24*60-hour*60);

long s=(l/1000-day*24*60*60-hour*60*60-min*60);

System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");

三:

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

java.util.Date begin=dfs.parse("2004-01-02 11:30:24");

java.util.Date end = dfs.parse("2004-03-26 13:31:40");

long between=(end.getTime()-begin.getTime())/1000;//除以1000是为了转换成秒

long day1=between/(24*3600);

long hour1=between%(24*3600)/3600;

long minute1=between%3600/60;

long second1=between%60/60;

System.out.println(""+day1+"天"+hour1+"小时"+minute1+"分"+second1+"秒");

====================================================

java 比较时间大小

String s1="2008-01-25 09:12:09";

String s2="2008-01-29 09:12:11";

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

java.util.Calendar c1=java.util.Calendar.getInstance();

java.util.Calendar c2=java.util.Calendar.getInstance();

try

{

c1.setTime(df.parse(s1));

c2.setTime(df.parse(s2));

}catch(java.text.ParseException e){

System.err.println("格式不正确");

}

int result=c1.compareTo(c2);

if(result==0)

System.out.println("c1相等c2");

else if(result<0)

System.out.println("c1小于c2");

else

System.out.println("c1大于c2");





JAVA获得当前时间的几种方法

分类:

package com.xjp.common.util;

import java.sql.Timestamp;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Date;

import com.ttsoft.framework.util.DateUtil;

/**
 * Title: 时间获取
 * Description: 当前时间
 * Copyright: Copyright   2010
 * Company: 
 * @author jiq
 * @version 1.0
 */
public class XJPDateUtil extends DateUtil {
    public static final String[] months = { "一月", "二月", "三月", "四月", "五月", "六月",
     "七月", "八月", "九月", "十月", "十一月", "十二月", };

    public static final String[] quarters = { "一季度", "二季度", "三季度", "四季度" };

    public XJPDateUtil() {
    }

    /**
     * 获取日期字符串。
     * 
     * <pre>
     *  日期字符串格式: yyyyMMdd
     *  其中:
     *      yyyy   表示4位年。
     *      MM     表示2位月。
     *      dd     表示2位日。
     * </pre>
     * 
     * @return String "yyyyMMdd"格式的日期字符串。
     */
    public static String getDate() {
 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

 return formatter.format(new Date());
    }

    /**
     * 获取当前年度字符串。
     * 
     * <pre>
     *  日期字符串格式: yyyy
     *  其中:
     *      yyyy   表示4位年。
     * </pre>
     * 
     * @return String "yyyy"格式的当前年度字符串。
     */
    public static String getNowYear() {
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy");

 return formatter.format(new Date());
    }

    /**
     * 获取当前月度字符串。
     * 
     * <pre>
     *  日期字符串格式: MM
     *  其中:
     *      MM   表示4位年。
     * </pre>
     * 
     * @return String "yyyy"格式的当前月度字符串。
     */
    public static String getNowMonth() {
 SimpleDateFormat formatter = new SimpleDateFormat("MM");

 return formatter.format(new Date());
    }

    /**
     * 获取当前月度字符串。
     * 
     * <pre>
     *  日期字符串格式: dd
     *  其中:
     *      dd   表示4位年。
     * </pre>
     * 
     * @return String "yyyy"格式的当前月度字符串。
     */
    public static String getNowDay() {
 SimpleDateFormat formatter = new SimpleDateFormat("dd");

 return formatter.format(new Date());
    }

    /**
     * 获取日期字符串。
     * 
     * <pre>
     *  日期字符串格式: yyyyMMdd
     *  其中:
     *      yyyy   表示4位年。
     *      MM     表示2位月。
     *      dd     表示2位日。
     * </pre>
     * 
     * @param date
     *                需要转化的日期。
     * @return String "yyyyMMdd"格式的日期字符串。
     */
    public static String getDate(Date date) {
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

 return formatter.format(date);
    }

    /**
     * 获取日期字符串。 
     * 
     * <pre>
     *  日期字符串格式: yyyyMMdd
     *  其中:
     *      yyyy   表示4位年。
     *      MM     表示2位月。
     *      dd     表示2位日。
     * </pre>
     * 
     * @param date
     *                需要转化的日期。
     * @return String "yyyyMMdd"格式的日期字符串。
     */
    /**
     * 将指定的日期字符串转化为日期对象
     * 
     * @param dateStr
     *                日期字符串
     * @return java.util.Date
     * @roseuid 3F39FE450385
     */
    public static Date getDate(String dateStr) {
 if (XJPTypeChecker.isDate(dateStr)) { // 日期型
     SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
     try {
  java.util.Date date = df.parse(dateStr);
  return date;
     } catch (Exception ex) {
  Logger.write("日期格式不符合或者日期为空!请检查!");
  return null;
     } // end try - catch
 } else if (XJPTypeChecker.isDatetime(dateStr)) { // 日期时间型
     SimpleDateFormat df = new SimpleDateFormat(
      "yyyy-MM-dd HH:mm:ss.SSS");
     try {
  java.util.Date date = df.parse(dateStr);
  return date;
     } catch (Exception ex) {
  return null;
     } // end try - catch
 } // end if
 return null;
    }

    /**
     * 获取日期字符串。
     * 
     * <pre>
     *  日期字符串格式: yyyy-MM-dd
     *  其中:
     *      yyyy   表示4位年。
     *      MM     表示2位月。
     *      dd     表示2位日。
     * </pre>
     * 
     * @return String "yyyy-MM-dd"格式的日期字符串。
     */
    public static String getHyphenDate() {
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

 return formatter.format(new Date());
    }

    /**
     * 获取日期字符串。
     * 
     * <pre>
     *  日期字符串格式: yyyy-MM-dd
     *  其中:
     *      yyyy   表示4位年。
     *      MM     表示2位月。
     *      dd     表示2位日。
     * </pre>
     * 
     * @param date
     *                需要转化的日期。
     * @return String "yyyy-MM-dd"格式的日期字符串。
     */
    public static String getHyphenDate(Date date) {
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

 return formatter.format(date);
    }

    /**
     * 将"yyyyMMdd"格式的日期字符串转换为日期对象。
     * 
     * @param source
     *                日期字符串。
     * @return Date 日期对象。
     */
    public static Date parsePlainDate(String source) {
 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

 return sdf.parse(source, new ParsePosition(0));
    }

    /**
     * 将“yyyy-MM-dd”格式的日期字符串转换为日期对象。
     * 
     * @param source
     *                日期字符串。
     * @return Date 日期对象。
     */
    public static Date parseHyphenDate(String source) {
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

 return sdf.parse(source, new ParsePosition(0));
    }

    /**
     * 将指定格式的日期字符串转换为日期对象。
     * 
     * @param source
     *                日期字符串。
     * @param pattern
     *                模式。
     * @return Date 日期对象。
     */
    public static Date parseDate(String source, String pattern) {
 SimpleDateFormat sdf = new SimpleDateFormat(pattern);

 return sdf.parse(source, new ParsePosition(0));
    }

    /**
     * 将“yyyy-MM-dd”格式的日期字符串转换为“yyyyMMdd”格式的日期字符串。
     * 
     * @param source
     *                日期字符串。
     * @return String "yyyymmdd"格式的日期字符串。
     */
    public static String toPlainDate(String source) {
 Date date = parseHyphenDate(source);
 SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");

 return formatter.format(date);
    }

    /**
     * 将“yyyyMMdd”格式的日期字符串转换为“yyyy-MM-dd”格式的日期字符串。
     * 
     * @param source
     *                日期字符串。
     * @return String "yyyy-MM-dd"格式的日期字符串。
     */
    public static String toHyphenDate(String source) {
 Date date = parsePlainDate(source);
 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

 return formatter.format(date);
    }

    /**
     * 获取时间戳,将日期对象转换为时间戳类型。
     * 
     * @param date
     *                日期对象
     * @return Timestamp 时间戳
     */
    public static Timestamp getTimestamp(Date date) {
 return new Timestamp(date.getTime());
    }

    /**
     * 获取时间戳,将当前日期转换为时间戳类型。
     * 
     * @return Timestamp 时间戳
     */
    public static Timestamp getTimestamp() {
 return new Timestamp(new Date().getTime());
    }

    /**
     * 将“yyyyMMdd”格式的日期字符串转换为Timestamp类型的对象。
     * 
     * @param source
     *                日期字符串
     * @return Timestamp 时间戳
     */
    public static Timestamp parseTimestamp(String source) {
 Date date = parsePlainDate(source);

 return getTimestamp(date);
    }

    /**
     * 获得年度周期 <br>
     * Example:<br>
     * XJPDateUtil.getPeriodYear("20040229" , -1);<br>
     * XJPDateUtil.getPeriodYear("20040228" , -1);<br>
     * XJPDateUtil.getPeriodYear("20020230" , 2);<br>
     * 
     * @param source
     *                时间串
     * @param yearPeriod
     *                年度周期 -1代表本时间的上一年度,以次类推。
     * @return String 时间。
     */
    public static String getPeriodYear(String source, int yearPeriod) {
 int p = Integer.parseInt(source.substring(0, 4)) + yearPeriod;
 String newYear = String.valueOf(p)
  + source.substring(4, source.length());
 Date date = parsePlainDate(newYear);
 String s = getDate(date);
 int ny = Integer.parseInt(s);
 int sy = Integer.parseInt(newYear);

 while (ny > sy) {
     sy--;
     ny = Integer.parseInt(getDate(parsePlainDate(String.valueOf(sy))));
 }

 return String.valueOf(sy);
    }

    /**
     * 获取当前日期和时间
     * 
     * @return String
     */
    public static String getCurrentDateStr() {
 Date date = new Date();
 String str = null;
 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
 str = df.format(date);
 return str;
    }

    /**
     * 日期相加
     *
     * @param day
     *             天数
     * @return 返回相加后的日期
     */
    public static String addDate(int day) {
 java.util.Calendar c = java.util.Calendar.getInstance();

 c.setTimeInMillis(System.currentTimeMillis() + ((long) day) * 24 * 3600
  * 1000);
 SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd HH:mm:ss");
 return df.format(c.getTime());
    }

    /**
     * 返回毫秒
     * 
     * @param date
     *             日期
     * @return 返回毫秒
     */
    public static long getMillis(java.util.Date date) {
 java.util.Calendar c = java.util.Calendar.getInstance();
 c.setTime(date);
 return c.getTimeInMillis();
    }
    /**
     * 获取当前日期和时间
     * @param format 日期格式 例:yyyy-MM-dd hh:mm
     * @return String
     */
    public static String getNowDate(String format) {
 Date date = new Date();
 String str = null;
 SimpleDateFormat df = new SimpleDateFormat(format);
 str = df.format(date);
 return str;
    }
    /**
     * 将strmon的日期减小一个月
     * @param mon
     * @return
     */
    public static String getReduceMonDate(String strmon) {
 if (strmon != null && !strmon.equals("")) {
     Date mon = parseHyphenDate(strmon);
     mon.setMonth(mon.getMonth() - 1);
     return getHyphenDate(mon);
 } else {
     return "";
 }
    }
  public static String getTimeStr(String dateStr){
 Date date=getDate(dateStr);
 String str = null;
 SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
 str = df.format(date);
 return str;
    }
  public static String getTimeStr(){
      String str="";
      SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss");
  str = df.format(new Date());
  return str;
  }
}

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值