`
ddh9504
  • 浏览: 112325 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java 日期类的常用方法封装

阅读更多

package com.mongodb;


import java.io.Serializable;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.TimeZone;
/**
 * ****************************************************************  
**   文 件 名:   DateUtils.java
**   Copyright   (c)   2007-2011  dhdu@qq.com  
**   创 建 人:  
**   日    期:  
**   修 改 人:  
**   日    期:   2011-03-15
**   描    述:   date
**  
**   版    本:  
**  
**  ==============================================================
**
**   修改记录
**
**   版本号    修改编号    修改者       修改日期        修改说明
**   ======   ========    ========     ==========     ===========
**   1.0.0       1         XXX       22011-3-15      没改业务,只是修改了注释规范,过期方法没改       
**
*******************************************************************
 */
public class DateUtils implements Serializable {

 /**
     **   函 数 名: getCurrentCnDateWithTimestamp
     **   输    入:
     **   输    出: Timestamp  
     **   功能描述: 得到中国时区的当前系统时间
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static Timestamp getCurrentCnDateWithTimestamp(){
   Date date=new Date();  
   SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);  
   fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));  
   String moditime=fm.format(date);  
   Timestamp lasttime=Timestamp.valueOf(moditime); //字符型转换为时间型。  
   return lasttime;  
 }
 /**
     **   函 数 名: getCurrentCnDateWithString
     **   输    入:
     **   输    出: String yyyy-MM-dd HH:mm:ss  
     **   功能描述: 得到中国时区的当前系统时间
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getCurrentCnDateWithString(){
   Date date=new Date();  
   SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);  
   fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));  
   String moditime=fm.format(date);       
   return moditime;  
 }
 
 /**
     **   函 数 名: getCurrentCnDateWithString1
     **   输    入:
     **   输    出: String yyyy-MM-dd
     **   功能描述: 得到中国时区的当前系统时间
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getCurrentCnDateWithString1(){
   Date date=new Date();  
   SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);  
   fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));  
   String moditime=fm.format(date);       
   return moditime;  
 }
 /**
     **   函 数 名: getCurrentCnDateWithString1
     **   输    入: Date
     **   输    出: String yyyy-MM-dd
     **   功能描述: 得到中国时区的当前系统时间
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getCurrentCnDateWithString1(Date d){
  Date date=null;
  if(d!=null)
   date=d;
  else
   date=new Date();
   SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd", Locale.CHINA);  
   fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));  
   String moditime=fm.format(date);       
   return moditime;  
 }
 
 
 /**
     **   函 数 名: getCurrentCnDateWithDate
     **   输    入:
     **   输    出: Date
     **   功能描述: 得到中国时区的当前系统时间
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static Date getCurrentCnDateWithDate(){
   Date date=new Date();  
   SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);  
   fm.setTimeZone(TimeZone.getTimeZone("GMT+8"));  
   String moditime=fm.format(date);     
   Timestamp lasttime=Timestamp.valueOf(moditime); //字符型转换为时间型。    
   return new Date(lasttime.getTime());
 }
 
 /**
     **   函 数 名: getAfterDateWithDate
     **   输    入: date日期,amount数字,type 1:月 2:季度 3:年
     **   输    出: Date
     **   功能描述: 得到已知日期以后相隔多久的日期
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static Date getAfterDateWithDate(Date date,int amount,int type){  
   Calendar c=Calendar.getInstance();
   c.setTimeInMillis(date.getTime());
   if(type==1){
    c.add(GregorianCalendar.MONTH, amount);   
   }else if(type==2){
     c.add(GregorianCalendar.MONTH, (amount*3));    
   }else  if(type==3){
    c.add(GregorianCalendar.YEAR, amount);   
   }

   return c.getTime();  
 }
 /**
     **   函 数 名: getAfterDateWithTimestamp
     **   输    入: date日期,amount数字,type 1:月 2:季度 3:年
     **   输    出: Timestamp
     **   功能描述: 得到已知日期以后相隔多久的日期
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static Timestamp getAfterDateWithTimestamp(Date date,int amount,int type){  
   Calendar c=Calendar.getInstance();
   c.setTimeInMillis(date.getTime());
   if(type==1){
   c.add(GregorianCalendar.MONTH, amount);   
   }else if(type==2){
   c.add(GregorianCalendar.MONTH, (amount*3));    
   }else  if(type==3){
   c.add(GregorianCalendar.YEAR, amount);   
   }  
  return new Timestamp(c.getTimeInMillis());  
 }
 
 /**
     **   函 数 名: getDateYY
     **   输    入: date日期
     **   输    出: String
     **   功能描述: 得到当前时间的两位数年份
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getDateYY(Date d)
 {
  Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); 
  if(d!=null)
   c.setTime(d);
  String year=String.valueOf(c.get(Calendar.YEAR));
  year=year.substring(year.length()-2);
  return year;
 }
 /**
     **   函 数 名: getDateYYYY
     **   输    入: date日期
     **   输    出: String
     **   功能描述:得到当前时间的四位数年份
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getDateYYYY(Date d)
 {
  Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); 
  if(d!=null)
   c.setTime(d);
  return String.valueOf(c.get(Calendar.YEAR));
 }
 
 /**
     **   函 数 名: getDateMM
     **   输    入: date日期
     **   输    出: String
     **   功能描述: 得到当前时间的两位数月份
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getDateMM(Date d)
 {
  Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); 
  if(d!=null)
   c.setTime(d);
  String month=String.valueOf(c.get(Calendar.MONTH)+1);
  if(month.length()==1)
   month="0"+month;
  return month;
  
 }
 
 /**
     **   函 数 名: getDateDD
     **   输    入: date日期
     **   输    出: String
     **   功能描述: 得到当前时间的两位数月份中的第几日
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getDateDD(Date d)
 {
  Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); 
  if(d!=null)
   c.setTime(d);
  String day=String.valueOf(c.get(Calendar.DAY_OF_MONTH));
  if(day.length()==1)
   day="0"+day;
  return day;
  
 }
 
 /**
     **   函 数 名: getDateQQ
     **   输    入: date日期
     **   输    出: String
     **   功能描述: 得到当前时间的两位数季度
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getDateQQ(Date d)
 {
  Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8"));
  if(d!=null)
   c.setTime(d);
  String q=String.valueOf(Double.valueOf(Math.ceil((c.get(Calendar.MONTH)+1)/3d)).intValue());
  if(q.length()==1)
   q="Q"+q;
  return q;
  
 }
 
 /**
     **   函 数 名: getDateWW
     **   输    入: date日期
     **   输    出: String
     **   功能描述: 得到当前时间的两位数一年中的第几周
     **   全局变量:  
     **   调用模块:  
     **   作    者:   XXX
     **   日    期:  
     **   修    改:  
     **   日    期:
     */
 public static String getDateWW(Date d)
 {
  Calendar c=Calendar.getInstance(TimeZone.getTimeZone("GMT+8")); 
  if(d!=null)
   c.setTime(d);
  String w=String.valueOf(c.get(Calendar.WEEK_OF_YEAR));
  if(w.length()==1)
   w="0"+w;
  return w;
  
 }
 
 /**
  * @param args
  */
 public static void main(String[] args) {
  
  System.out.println(getDateWW(new Date()));
//  System.err.println(getCurrentCnDateWithDate());
//  System.err.println(getCurrentCnDateWithString());
//  System.err.println(getCurrentCnDateWithTimestamp());  
//  System.err.println(getCurrentCnDateWithTimestamp().after(getAfterDateWithTimestamp(getCurrentCnDateWithDate(), 1, 1)));

 }

}

分享到:
评论

相关推荐

    项目中常用java常用封装类

    这里,我们重点讨论的是在项目中经常使用的Java封装类,这些类通常是开发人员为了简化常见任务而创建的工具类或者实用类。下面,我们将详细探讨String类的封装、分页封装、Servlet的封装以及其他一些常见的封装实践...

    java各种常用的工具类封装 源码

    以下将详细讲解标题和描述中提到的几个关键工具类及其封装方法: 1. **DateUtil**: Java中的日期时间处理在早期版本中较为复杂,`DateUtil` 类通常是为了封装`java.util.Date`、`Calendar` 和 `java.time` 包中的类...

    封装java常用工具的类

    标题提到的"封装java常用工具的类"是一个很好的实践,将常见的功能模块化,方便复用和维护。下面我们将详细探讨这个主题中的多个知识点。 1. **邮件发送**:JavaMail API提供了发送电子邮件的能力。通过javax.mail...

    java常用系统类库实验

    实验旨在加深学生对Java预定义类的理解,掌握常用类的运用技巧,以及熟练方法覆盖(重写)的实践。实验分为三个部分,分别围绕Math类、基本类型的包装类、日期类(Date和Calendar)、以及动态数组Vector类展开。 ##...

    java常用工具类封装util.rar

    在Java编程中,工具类(Util)是一种常见的设计模式,用于封装一组静态方法,这些方法在各种场景下都能被重复使用。"java常用工具类封装util.rar"这个压缩包文件很可能包含了开发者为了提高代码复用性和简洁性而编写...

    JAVA中常用类的常用方法.pdf

    JAVA中常用类的常用方法主要涵盖了java语言中基础类库的关键类以及它们提供的主要方法。以下是针对文档内容的详细解释: 1. java.lang.Object类 Object类是Java中所有类的超类,它提供了多种方法,这些方法在Java中...

    一些java常用的工具类

    总之,Java工具类是提高开发效率的关键,它们封装了常见的操作,减少了代码重复,提高了代码可读性和维护性。"一些java常用的工具类"可能涵盖了上述的多种功能,为开发者提供了方便快捷的编程体验。通过理解和利用...

    Java -核心类库 Object类常方法 Math类常用方法 System类常用方法 基本类型包装类常用方法等

    Java为每种基本数据类型都提供了对应的包装类,这些包装类不仅封装了基本类型的值,还提供了许多有用的静态方法。 1. **valueOf() 方法**:将字符串转换为相应类型的对象。 2. **parseInt() 方法**:将字符串转换为...

    封装了常用的日期格式工具类

    这个"封装了常用的日期格式工具类"提供了便捷的方法来处理这些需求,使得开发者无需深入了解Java的日期API就能高效地工作。 `DateUtil`和`VeDate`这两个类可能是为了解决以下问题而设计的: 1. **日期格式化**:在...

    Java常用的基础类

    包装类是 Java 语言中最基本的类之一,它将基本数据类型封装为对象。每个基本数据类型都有对应的包装类,例如 Boolean 对应 boolean、Byte 对应 byte、Short 对应 short、Integer 对应 int、Long 对应 long、...

    常用jar包括封装的工具类

    在IT行业中,jar(Java Archive)文件是一种广泛使用的文件格式,用于封装Java类库,使得开发者可以在项目中方便地引用和使用。本压缩包提供的是一系列常用且实用的jar文件,涵盖了SpringMVC、MyBatis框架的核心组件...

    java常用工具类

    例如,可能会有一个`DateUtils`类封装了`java.time`包的API,提供更友好的日期操作接口;或者一个`StringUtils`类,补充了标准库中没有的字符串处理方法。 在实际开发中,熟练掌握并合理利用这些工具类可以显著提升...

    java常用的日期工具类

    尽管如此,`Date`仍然是Java日期处理的基础。 2. **`java.text.SimpleDateFormat`**: 这是Java中的一个强大的日期/时间格式化工具,用于将日期对象转换为字符串,或者将字符串解析为日期对象。`SimpleDateFormat`...

    Java常用工具类UtilClass

    在Java编程中,工具类(Util Class)是包含各种实用函数的静态类,它们提供了一种简化常见任务的方法。在给定的`UtilClass`中,我们有五个主要的工具类:`StringUtil`、`FileUtil`、`ConnectDB`、`DateUtil`和`...

    Java中对日期的常用处理(转)

    本文将基于标题“Java中对日期的常用处理(转)”来深入探讨Java中的日期处理,结合`DateUtil.java`这个文件名,我们可以推测这是一个包含日期处理工具类的源代码文件。 首先,Java中处理日期的最基础类是`java....

    java 常用类

    DateUtil通常是一个自定义工具类,封装了对日期的常见操作,如获取当前时间、格式化日期字符串、计算两个日期之间的差值等。使用DateUtil可以使日期相关的代码更加简洁和统一。 5. DBUtil: DBUtil是数据库操作的...

    Android-Java中的日期转化格式DateUtil工具类

    Java提供了多种方式来操作日期,但有时为了提高代码的可读性和可维护性,我们会创建一个工具类来封装这些操作。这里我们关注的是`DateUtil`工具类,它专门用于处理日期转换格式的操作。`DateUtil`工具类通常包含了对...

    JAVA28个常用工具类

    在Java编程语言中,工具类(Utility Class)是封装了常用功能的方法集合,方便开发者在项目中快速调用,提高代码复用性。以下是对给定的九个工具类的详细说明: 1. **FileUtils.java**: 文件操作工具类,提供了处理...

    java课件 常用类与异常处理

    此外,Java中的包装类,如`Integer`、`Long`等,都是为基本数据类型提供的面向对象的封装,它们同样提供了上述的`equals()`, `hashCode()`, 和 `toString()`方法。 异常处理是Java中处理错误的关键机制。Java使用...

Global site tag (gtag.js) - Google Analytics