Java 中DateUtils日期工具类的实例详解

 更新时间:2017年08月02日 11:07:27   作者:nicewuranran  
这篇文章主要介绍了Java 中DateUtils日期工具类的实例详解的相关资料,有时候开发java项目使用日期类型,这里介绍下日期工具类,需要的朋友可以参考下

Java 中DateUtils日期工具类的实例详解

介绍

在java中队日期类型的处理并不方便,通常都需要借助java.text.SimpleDateFormat类来实现日期类型
和字符串类型之间的转换,但是在jdk1.8之后有所改善,jdk1.7以及之前的版本处理日期类型并不方便,
可以借助Joda Time组件来处理,尤其是日期类型的一些数学操作就更是不方便。

java代码

/**
 * 
 * 日期工具类 java对日期的操作一直都很不理想,直到jdk1.8之后才有了本质的改变。
 * 如果使用的是jdk1.8之前版本开发的话,推荐使用Joda Time组件。
 * 
 * 特别备注:unix的时间戳单位是秒
 * 
 * @author xuyi3
 * @2016年7月13日 @下午2:01:00
 * @DateUtils
 * @功能说明:
 * @春风十里不如你
 * @备注
 */
public class DateUtils {

  /** 日志对象 */
  private static final Logger logger = LoggerFactory.getLogger(DateUtils.class);

  /** 年-月-日 时:分:秒 显示格式 */
  // 备注:如果使用大写HH标识使用24小时显示格式,如果使用小写hh就表示使用12小时制格式。
  public static String DATE_TO_STRING_DETAIAL_PATTERN = "yyyy-MM-dd HH:mm:ss";

  /** 年-月-日 显示格式 */
  public static String DATE_TO_STRING_SHORT_PATTERN = "yyyy-MM-dd";

  private static SimpleDateFormat simpleDateFormat;

  /**
   * Date类型转为指定格式的String类型
   * 
   * @param source
   * @param pattern
   * @return
   */
  public static String DateToString(Date source, String pattern) {
    simpleDateFormat = new SimpleDateFormat(pattern);
    return simpleDateFormat.format(source);
  }

  /**
   * 
   * unix时间戳转为指定格式的String类型
   * 
   * 
   * System.currentTimeMillis()获得的是是从1970年1月1日开始所经过的毫秒数
   * unix时间戳:是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
   * 
   * @param source
   * @param pattern
   * @return
   */
  public static String timeStampToString(long source, String pattern) {
    simpleDateFormat = new SimpleDateFormat(pattern);
    Date date = new Date(source * 1000);
    return simpleDateFormat.format(date);
  }

  /**
   * 将日期转换为时间戳(unix时间戳,单位秒)
   * 
   * @param date
   * @return
   */
  public static long dateToTimeStamp(Date date) {
    Timestamp timestamp = new Timestamp(date.getTime());
    return timestamp.getTime() / 1000;

  }

  /**
   * 
   * 字符串转换为对应日期(可能会报错异常)
   * 
   * @param source
   * @param pattern
   * @return
   */
  public static Date stringToDate(String source, String pattern) {
    simpleDateFormat = new SimpleDateFormat(pattern);
    Date date = null;
    try {
      date = simpleDateFormat.parse(source);
    } catch (ParseException e) {
      logger.error("字符串转换日期异常", e);
    }
    return date;
  }

  /**
   * 获得当前时间对应的指定格式
   * 
   * @param pattern
   * @return
   */
  public static String currentFormatDate(String pattern) {
    simpleDateFormat = new SimpleDateFormat(pattern);
    return simpleDateFormat.format(new Date());

  }

  /**
   * 获得当前unix时间戳(单位秒)
   * 
   * @return 当前unix时间戳
   */
  public static long currentTimeStamp() {
    return System.currentTimeMillis() / 1000;
  }

  //待补充
}

总结

掌握了解jdk1.8的新特性和学会使用优秀的开源组件来达到自己快速高效开发的目的。

以上就是java 工具类的详解,如有疑问请留言或者到本站社区交流讨论,本站关于java的开发文章还有很多,请大家多多搜索查阅,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • SpringBoot后端接收参数优化代码示例(统一处理前端参数)

    SpringBoot后端接收参数优化代码示例(统一处理前端参数)

    使用Spring Boot开发API的时候,读取请求参数是服务端编码中最基本的一项操作,下面这篇文章主要给大家介绍了关于SpringBoot后端接收参数优化(统一处理前端参数)的相关资料,需要的朋友可以参考下
    2024-07-07
  • 一文掌握SpringSecurity BCrypt密码加密和解密

    一文掌握SpringSecurity BCrypt密码加密和解密

    BCrypt就是一款加密工具,可以比较方便地实现数据的加密工作。也可以简单理解为它内部自己实现了随机加盐处理,这篇文章主要介绍了SpringSecurity BCrypt密码加密和解密,一文学会使用BCryptPasswordEncoder的方法,需要的朋友可以参考下
    2023-04-04
  • JAVA PDF操作之实现截取N页和多个PDF合并

    JAVA PDF操作之实现截取N页和多个PDF合并

    这篇文章主要为大家详细介绍了java关于PDF的一些操作,例如截取N页并生成新文件,转图片以及多个PDF合并,文中的示例代码讲解详细,感兴趣的可以了解下
    2025-01-01
  • 为IntelliJ IDEA配置JVM参数的两种方法

    为IntelliJ IDEA配置JVM参数的两种方法

    在使用IntelliJ IDEA进行Java开发时,合理配置JVM参数对于优化项目性能和资源管理至关重要,IntelliJ IDEA提供了两种方便的方式来设置JVM参数,本文将详细介绍这两种方法:通过工具栏编辑配置和通过服务编辑配置,需要的朋友可以参考下
    2024-12-12
  • JAVA  静态的单例的实例详解

    JAVA 静态的单例的实例详解

    这篇文章主要介绍了JAVA 静态的单例的实例详解的相关资料,这里提供了实例方法,来说名不仅实现了延迟加载,又可以保证线程安全,不影响系统性能,需要的朋友可以参考下
    2017-07-07
  • SpringBoot下载Excel文件时,报错文件损坏的解决方案

    SpringBoot下载Excel文件时,报错文件损坏的解决方案

    这篇文章主要介绍了SpringBoot下载Excel文件时,报错文件损坏的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • java模拟实现斗地主发牌小程序

    java模拟实现斗地主发牌小程序

    这篇文章主要为大家详细介绍了java模拟实现斗地主发牌小程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • Java中InputSteam怎么转String

    Java中InputSteam怎么转String

    面了一位实习生,叫他给我说一下怎么把InputStream转换为String,这种常规的操作,他竟然都没有用过我准备结合工作经验,整理汇集出了InputStream 到String 转换的十八般武艺,助大家闯荡 Java 江湖一臂之力,需要的朋友可以参考下
    2021-06-06
  • 详解java IO流之缓冲流的使用

    详解java IO流之缓冲流的使用

    本文主要介绍了java的IO流中的缓冲流的使用,缓冲流分为字节和字符缓冲流。分享了有关它们的实例代码,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Java设计模式之代理模式原理及实现代码分享

    Java设计模式之代理模式原理及实现代码分享

    这篇文章主要介绍了Java设计模式之代理模式原理及实现代码分享,设计代理模式的定义,静态代理,动态代理,jdk动态代理实现步骤,原理及源码等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11

最新评论