`
独善其身008
  • 浏览: 171712 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

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;
  }
}
分享到:
评论

相关推荐

    Java获取各种常用时间方法

    除了上述几种日期之外,还可以通过类似的逻辑获取到其他日期,例如获取下周一、下周日、本月第一天、上月第一天、下月第一天等等。这些方法的实现逻辑基本一致,主要是通过调整`Calendar`对象中的日期来达到目的。 ...

    java获取时间方法

    **功能描述**:此方法用于获取当前时间并将其格式化为“`yyyy-MM-dd HH:mm:ss`”的形式。这种格式在实际应用中非常常见,易于阅读和理解。 **代码实现**: ```java public static String ...

    java获取系统时间与实际相差8小时的解决方法

    解决这个问题的方法有以下几种: 1. **设置JVM时区**: 在启动Java应用时,可以通过命令行参数 `-Duser.timezone=Asia/Shanghai` 来指定时区,将时区设置为亚洲上海,这样获取的时间就会对应到北京时间。 2. **...

    Java 获取日期时间代码

    获取当前时间的时间戳有两种方式: 1. **使用 `java.util.Date` 的 `getTime()` 方法** ```java import java.util.*; public class TestDate { public static void main(String[] args) { java.util.Date ...

    java 获得时间方法

    在Java中,获取系统当前时间是一项基本且常用的功能。通过`java.util.Calendar`类,我们可以方便地操作日期和时间。本文将详细介绍如何利用`Calendar`类来获取各种时间数据。 #### 导入必要的包 首先,我们需要...

    java如何获取时间

    通过以上几种方式,我们可以根据不同的需求灵活地选择获取和格式化时间的方法: 1. **`java.util.Date`**:适用于获取当前的时间戳,但需要配合`SimpleDateFormat`来进行格式化。 2. **`SimpleDateFormat`**:提供...

    JAVA中获得本地系统时间的方法

    在Java编程中,获取本地系统的当前时间是常见的需求之一。这不仅可以用于记录日志、实现定时任务等功能,还能帮助开发者进行时间相关的数据处理。本文将详细介绍两种常用方法来获取Java中的本地系统时间:通过`...

    js和java返回三个月前的时间

    本文将详细介绍如何使用JavaScript(JS)和Java这两种语言来实现获取当前时间三个月之前的具体日期,并支持不同的格式输出。 #### Java 实现 在Java中,我们可以利用`java.util.Calendar`类和`java.text....

    java日期时间获取

    文章重点介绍了 `SimpleDateFormat` 类的使用方法,并通过具体的例子演示了如何获取当前日期时间、解析字符串形式的日期时间以及判断某个时间是否处于两个时间点之间。 #### 详细介绍: ##### 1. 日期时间的格式化...

    java中计算某个月的工作日总共几天

    这里将介绍一种较为通用的方法:利用`java.util.Calendar`类来计算指定月份内的工作日。 #### 一、基础概念 1. **Calendar 类**: - `java.util.Calendar` 是一个抽象类,用于表示特定时间的日期和时间。 - 可以...

    java编写的时间钟

    我们可以使用`ZoneId.of("timezone_id")`来获取指定时区的ID,并将其与`ZonedDateTime`对象结合,以获取该时区的当前时间。 4. **线程更新**:为了使时钟实时更新,我们需要一个后台线程定期刷新时间显示。这通常...

    java获取时间的方法总结

    以下是对Java中获取时间的几种方法的详细分析和总结,这些方法可以帮助开发者根据不同的需求来获取和格式化时间。 一、获取当前时间 1. 格式为:yyyy-mm-dd hh-mm-ss 你可以使用`java.text.SimpleDateFormat`类来...

    Util.java 一些公共的Java方法

    `Util.java`提供了几种分页方法,包括根据每页记录数(`records_per_page`)、`HttpServletRequest`请求参数、或直接传入当前页码来生成`Pagination`对象。这些方法简化了前端分页数据的获取流程,使得后端服务能够...

    java 采用单例模式计算当年有多少个周,并列出所有周以及每一个周所对应的时间段(内含注释)

    根据给定文件的信息,本文将详细解析如何使用Java语言及单例模式来计算并列出一年中的所有周及其对应的时间段,同时也会展示如何获取当前日期及其所在周。 ### 一、单例模式简介 单例模式是一种常用的软件设计模式...

    获取当前时间

    以上就是Java中获取当前时间的几种常见方法。根据项目需求和兼容性考虑,可以选择适合的方式来处理日期和时间。对于初学者,推荐使用`java.time`包,因为它的设计更加现代,且易于理解和使用。而`java.util.Date`...

    java 连接池的几种用法.txt

    ### Java连接池的几种用法 #### 一、引言 在Java开发中,数据库连接是应用程序与数据库之间通信的基础。频繁地创建和销毁数据库连接不仅效率低下,而且容易导致资源浪费甚至系统性能下降。因此,引入了数据库连接...

    Java分布式RMI获取服务器时间

    5. **调用远程方法**:最后,客户端可以像调用本地对象一样调用`getServerTime()`方法,从而获取服务器的当前时间。 这个简单的RMI示例展示了如何使用Java进行分布式编程,通过RMI技术实现远程调用,获取远程服务器...

    java时间的转换

    在给定的代码片段中,我们看到了以下几种时间日期转换的方法: - `getNowDate()`:返回当前时间,格式为"yyyy-MM-dd HH:mm:ss"。 - `getStringDate()`:返回当前时间的字符串表示,格式为"yyyy-MM-dd HH:mm:ss"。 -...

    【java】如何获取当前时间的时间戳及时间戳转换问题

    一、时间戳定义(摘自百度百科) 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日...二、获取当前时间戳的几种方法 方法一:通过System的currentTimeMillis()方法 System.out.println(Syst

Global site tag (gtag.js) - Google Analytics