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

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;
  }
}

转自http://blog.csdn.net/thl331860203/article/details/5912435

时间: 2024-08-28 07:49:56

JAVA获得当前时间的几种方法的相关文章

Java获取系统时间的四种方法

1.Date day=new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(df.format(day)); 通过Date类来获取当前时间 2.SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   System.out.println(df.f

保留上次访问网站的时间的几种方法

这里保留上次访问网站的时间的三种方法.即用cookie\session\servletContext.其实这三种方法的思路都是一样的. 思路如下: 把你访问网站的时间作为在上述三个对象的属性值,然后再把上述三个对象的属性值给读出来.而这个属性值就是你访问网站时的时间. 下面的代码是这样写的:把三种方法的存放属性值放在一个方法中分别:注明了cookie方法.session方法.servletContext方法.而读取属性值用同样的方式放在了同一个类中. //存放属性(即存放时间的代码如下) 1 p

Java实现ping功能的三种方法

Java实现ping功能的三种方法 检测设备的运行状态,有的是使用ping的方式来检测的.所以需要使用java来实现ping功能. 为了使用java来实现ping的功能,有人推荐使用java的 Runtime.exec()方法来直接调用系统的Ping命令,也有人完成了纯Java实现Ping的程序,使用的是Java的NIO包(native io, 高效IO包).但是设备检测只是想测试一个远程主机是否可用.所以,可以使用以下三种方式来实现: 1.Jdk1.5的InetAddresss方式 自从Jav

Java 计算中英文长度的若干种方法

在项目开发中经常碰到到输入字符的校验,特别是中英文混合在一起的校验.而为了满足校验的需求,有时需要计算出中英文的长度. 本文将通过几种常用的方法实现长度的计算: <span style="font-size:18px;">import java.io.UnsupportedEncodingException; /** * 中英文校验的处理 * @author a123demi * */ public class EnChValidate { public static vo

java中遍历MAP的几种方法

java中遍历MAP的几种方法 Java代码 Map<String,String> map=new HashMap<String,String>();    map.put("username", "qq");    map.put("passWord", "123");    map.put("userID", "1");    map.put("em

java连接sql server2008的两种方法

最近学到java连接数据库(sql server),发现常用的我们有两种方法,那么这里我总结一下这两种方法怎么使用,还有它们的区别,还有我们一般要使用哪一种方法. 方法一:使用jdbc-odbc桥连接sql server,作为中间媒介连接数据库; 注意我们每次在连接数据库前都必须要引入sql包:import java.sql.*;接下来的步骤都是习惯性步骤,我这里就按照每一步的使用进行列举: 1.配置数据源:打开控制面版->管理工具->数据源(ODBC)->(一般而言我们使用用户DSN)

关于java获取本地ip的几种方法

关于java获取本地ip的几种方法1.获取本地ip的方法 System.out.println(InetAddress.getLocalHost().getHostAddress()); 2.域名解析ip的方法 System.out.println(InetAddress.getByName("www.sina.com.cn")); 3.获取本地出口ip的方法(局域网NAT或本地找交换机出口ip的方法) 建立通讯TCP,telnet,mina通讯等. Socket client = n

【JAVA】遍历Map的四种方法

public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>();  map.put("1", "value1");  map.put("2", "value2");  map.put("3", "value3");    //第一种:普

Java解析XML文件的四种方法

[摘要] 可扩展标志语言(XML)在实现信息标准化.信息的交流与共享上有其独特的技术优势,因此受到了广泛的重视.本文先简单的介绍了XML基本知识,然后从XML应用入手总结了四种现今最常见的XML的解析方法,介绍了这四种方法的特点,其中包括优点与不足之处.最后给出了一个简单的案例来对这四种解析进行代码介绍. [关键字] XML文件,DOM,SAX,JDOM,DOM4J [引言] XML即可扩展标记语言(EXtensible Markup Language),是标准通用标记语言的子集,是一种用于标记