`
hui_jing_880210
  • 浏览: 43385 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java date封装

    博客分类:
  • java
阅读更多
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

/**
 * 日期格式化
 * @author zhouguohui
 *
 */
public class DateUtils {
   
    public final static String YYYY_MM="yyyy-MM";
    public final static String YYYY_MM_DD="yyyy-MM-dd";
    public final static String YYYY_MM_DD_HH_mm_ss="yyyy-MM-dd HH:mm:ss";
    public final static String YYYY_MM_DD_HH_mm_ss_SS="yyyy-MM-dd HH:mm:ss SS";
    public final static String YYYY_MM_DD_T_HH_mm_ss_Z="yyyy-MM-ddTHH:mm:ssZ";
    public final static SimpleDateFormat sdf=new SimpleDateFormat();
   
    public final static Calendar car=Calendar.getInstance();
   
    static {//设置时区为本地默认时区
        sdf.setTimeZone(TimeZone.getDefault());
        car.setTimeZone(TimeZone.getDefault());
    }
   
    /**
     * ===============================================
     *         常用方法返回类型为字符串
     * ================================================
     */
   
   
    /**
     * 返回格式为YYYY-MM 为格式的时间字符串
     * @return String
     */
    public static String getSysmonth(){
        sdf.applyPattern(YYYY_MM);
        return sdf.format(new Date());
    }
   
    /**
     * 返回格式YYYY-MM-DD 为格式的时间字符串
     * @return String
     */
    public static String getSysdate(){
        sdf.applyPattern(YYYY_MM_DD);
        return sdf.format(new Date());
    }
   
    /**
     * 返回格式YYYY-MM-DD HH:mm 为格式的时间字符串
     * @return String
     */
    public static String getSystime(){
        sdf.applyPattern(YYYY_MM_DD_HH_mm_ss);
        return sdf.format(new Date());
    }
   
    /**
     * 返回自定义格式的时间字符串
     * @param format
     * @return String
     */
    public static String getFormatTime(String format){
        sdf.applyPattern(format);
        return sdf.format(new Date());
    }
   
    /**
     * 返回当前年
     * @return String
     */
    public static String getYear(){
        sdf.applyPattern("yyyy");
        return sdf.format(new Date());
    }
   
   /**
    * 返回当前月份
    * @return String
    */
    public static String getMonth(){
        sdf.applyPattern("MM");
        return sdf.format(new Date());
    }
   
    /**
     * 返回当天是当月的第几天
     * @return String
     */
    public static String getDay(){
        sdf.applyPattern("dd");
        return sdf.format(new Date());
    }
   
    /**
     * 返回当前小时
     * @return String
     */
    public static String getHour(){
        sdf.applyPattern("HH");
        return sdf.format(new Date());
    }
   
   /**
    * 返回当前分钟
    * @return String
    */
    public static String getMinute(){
        sdf.applyPattern("mm");
        return sdf.format(new Date());
    }
    /**
     * 返回当天为星期几,如:(星期一,星期二。。。)
     * @return String
     */
    public static String getWeekDayCN(){
        sdf.applyPattern("EEEE");
        return sdf.format(new Date());
    }
    /**
     * 返回当天为星期几,如(1,2,3,4,5,6,7)
     * @return int
     */
    public static int getWeekDayNUM(){
        car.setTimeInMillis(System.currentTimeMillis());
        return (car.get(Calendar.DAY_OF_WEEK)-1)==0?7:(car.get(Calendar.DAY_OF_WEEK)-1);
    }
   
    /**
     * 得到当前时间的指定格式
     * @param format
     * @return
     */
    public static String getTime(String format){
        return formatDate(new Date(),format);
    }
   
   
    /**
     * ===============================================
     *         常用方法返回类型为日期类
     * ================================================
     */
   
    /**
     * 得到上一年的日期
     * @return Date
     */
    public static Date getLastYeardate(){
        car.setTimeInMillis(System.currentTimeMillis());
        return addYear(-1);
    }
   
    /**
     * 得到上个月的日期
     * @return Date
     */
    public static Date getLastMonthdate(){
        car.setTimeInMillis(System.currentTimeMillis());
        return addMonth(-1);
    }
   
    /**
     * 得到昨天的日期
     * @return Date
     */
    public static Date getLastDatedate(){
        car.setTimeInMillis(System.currentTimeMillis());
        return addDay(-1);       
    }
   
   
   
   
   
    /**
     * ===============================================
     *         工具方法
     * ================================================
     */
   
    public static Date addDay(int k){
        car.add(Calendar.DAY_OF_MONTH,k);
        return car.getTime();
    }
   
    public static Date addMonth(int k){
        car.add(Calendar.MONTH,k);
        return car.getTime();
    }
   
    public static Date addYear(int k){
        car.add(Calendar.YEAR,k);
        return car.getTime();
    }
   
    public static String formatDate(Date date,String formater){
         sdf.applyPattern(formater);
         return sdf.format(date);
    }
   
    public static Date parseDate(String value,String formater){
           Date date=null;
        sdf.applyPattern(formater);
           try {
            date=sdf.parse(value);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return date;
   }
   
    /**
     * yyyy-MM-dd hh:mm:ss
     * @param date
     * @return
     */
   public static String parseDate(java.util.Date date,String format){
       sdf.applyPattern(format);
       return sdf.format(date);
   }
  
    public static void main(String[] args) {
        System.out.println(DateUtils.formatDate(DateUtils.getLastDatedate(),DateUtils.YYYY_MM_DD_HH_mm_ss_SS).replaceAll("[\\s|\\-|:]", ""));
    }
   
  
}

 

 

分享到:
评论

相关推荐

    国内外 Java Script 经典封装

    在这份“国内外 Java Script 经典封装”资源中,我们能看到开发者们通过封装来提升代码复用性和效率的14种经典案例。封装是编程中的一个重要概念,它能帮助我们将复杂的功能模块化,使得代码更易于理解和维护。 1. ...

    java所有可能的日期操作封装

    Java提供了一系列强大的API来处理日期和时间,主要包括`java.util.Date`、`java.util.Calendar`、`java.text.SimpleDateFormat`以及Java 8引入的`java.time`包。下面将详细阐述这些知识点。 1. **`java.util.Date`*...

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

    1. **DateUtil**: Java中的日期时间处理在早期版本中较为复杂,`DateUtil` 类通常是为了封装`java.util.Date`、`Calendar` 和 `java.time` 包中的类,提供方便的日期时间操作。例如,获取当前日期、格式化日期字符串...

    Java8应用封装,手写ORM,LOG,framework

    在这个“Java8应用封装,手写ORM,LOG,framework”的项目中,开发者显然专注于利用Java8的新特性来构建自己的轻量级框架,包括对象关系映射(ORM)、日志系统(LOG)以及一些通用的工具类和自动化配置。 1. **Java...

    封装java常用工具的类

    6. **时间类**:Java 8引入了新的日期和时间API(java.time包),它提供了更直观、更易于使用的日期、时间、时区处理功能,替代了之前的java.util.Calendar和java.util.Date。 7. **数据库连接池**:例如,C3P0、...

    Silverlight与Java通信远程调用封装

    可以转换日常使用中的任意复杂类型通信,成功解决C# DateTime和Java Date传递问题,解决java容器泛型与C#容器泛型转换问题,解决复杂对象问题(对象属性是另外对象,容器中套容器)等。 欢迎大家使用,有问题,可以...

    TimeUtil_java-long型与Date型时间转换工具

    `long`类型通常用来表示自1970年1月1日00:00:00(UTC)以来的毫秒数,而`java.util.Date`类则封装了具体的日期和时间信息。两者之间的相互转换在实际开发中十分常见,例如在存储、计算或展示日期时。`TimeUtil`是一...

    Java数据封装树形结构代码实例

    本文详细介绍了Java数据封装树形结构代码实例的实现过程,涵盖了实体类的定义、数据封装、树形结构的构建、递归算法、Comparable接口、List接口、Date类和StringUtils类等多个知识点,对大家的学习或者工作具有一定...

    将c#的DateTime类转成java

    `DateTime`是C#中用于表示日期和时间的内置类型,而在Java中,相应的类型是`java.util.Date`和`java.time`包下的类,如`LocalDate`, `LocalTime`和`LocalDateTime`等。 C#的`DateTime`类提供了一系列方法和属性来...

    Java日期操作接口

    回到我们的主题——"Java日期操作接口",可能是指自定义的一个接口,用于扩展或封装Java的日期处理功能。`DateFilter.java`可能是实现这个接口的类,它可能包含了一些过滤或者操作日期的方法,比如按照特定条件筛选...

    寿星天文历Java封装整理版

    本次的封装版,实质上还是较为简单,没有进一步深入和挖掘,但也基本够用了。各位读者可以根据自己的需要进行进一步整理,不过再整理和改造之前,建议还是先了解下相关的知识,否则估计你都无从下手,即便改了,在不...

    Date日期的封装

    Date日期格式的转换封装 将“yyyy-MM-dd”字符串转为Date,“yyyy-MM-dd”或者"yyyy/MM/dd"的字符串,转为Date,将Date转为 yyyy年MM月dd日 字符串

    实现日期加1的一个Date类

    为了高效地处理日期,我们经常会自定义一个Date类来封装日期相关的操作。标题提到的"实现日期加1的一个Date类"正是这样一个自定义的类,它允许用户对日期进行增加一天的操作,并且提供了设置日期的功能。以下是对这...

    java 中List按照date排序的实现

    java 中List按照date排序的实现 Java 中List按照date排序的实现是Java开发中一个常见的需求,特别是在处理日期类型的数据时SORT。今天,我们将介绍如何使用Java中的Collections类和Comparator接口对List按照date...

    java发送邮件封装,链式传递参数

    .sentDate(new Date()) .subject("使用JavaMail发送混合组合类型的邮件测试主题") // .attachFiles(attachFiles) .content(contentBuf.toString()) .toRecipients(toRecipients); ServiceResponse<String> ...

    JsonObject转换Date日期

    JsonObject转换Date日期的时候出现问题解决date封装成json数据出现的问题

    Java仿.NET 的DateTime封装

    Java或jdbc操作日期时间存在诸多不便,代码通过对Date、Calendar、SimpleDateFormat的封装,实现类似.NET DateTime的功能

    json与java对象互转

    通过上述代码,我们可以看到自定义了`SQLDateSerializer`、`UtilDateSerializer`、`SQLDateDeserializer`和`UtilDateDeserializer`类,分别用于处理`java.sql.Date`和`java.util.Date`类型的序列化与反序列化。...

    Java Date Time 教程-时间测量.docx

    此外,可以创建一个`Timer`类来封装这个过程,使得代码更加整洁和易于管理。以下是一个简单的`Timer`类实现: ```java public class Timer { private long startTime = 0; private long endTime = 0; public ...

    自考java 04747《Java语言程序设计(一)》教材电子版

    面向对象编程的三大特性——封装、继承和多态在Java中有着深入的应用。 5. **异常处理**:Java通过异常处理机制来处理程序运行时可能出现的问题。异常是通过`try-catch-finally`块来捕获和处理的。理解如何正确地抛...

Global site tag (gtag.js) - Google Analytics