日常项目当中经常会用到操作日期,抽出时间总结了一下,欢迎和大家多多沟通学习,如有任何改进意见和建议,我的QQ是1243672,欢迎联系哦。

/**
* 日期操作类
* 开发公司:北京东达悦科技有限公司
* 开发人:宋海鹏
* 最后更新日期:2013-09-10
*/
package com.imstudio.common; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DatetimeHelper { private static String datePattern = "yyyy-MM-dd";
private static String timePattern = datePattern + " HH:mm:ss";
private static String minDate = "1900-01-01"; public static String getDatePattern() {
return datePattern;
} public static String getTimePattern() {
return timePattern;
} public static final String DatetimeToString(Date date, String pattern) {
SimpleDateFormat df = null;
String dateString = "";
if (date != null) {
df = new SimpleDateFormat(pattern);
dateString = df.format(date);
}
return dateString;
} public static final String DateToString(Date date) {
return DatetimeToString(date, datePattern);
} public static final String DatetimeToString(Date date) {
return DatetimeToString(date, timePattern);
} public static final Date StringToDatetime(String date, String pattern) {
SimpleDateFormat df = null;
Date dateValue = null;
df = new SimpleDateFormat(pattern);
try {
dateValue = (Date) df.parse(date);
} catch (ParseException pre) {
return null;
} return dateValue;
} public static final Date StringToDate(String date) {
return StringToDatetime(date, datePattern);
} public static final Date StringToDatetime(String date) {
return StringToDatetime(date, timePattern);
} public static final String Now(String pattern) {
Date dt = new Date();
SimpleDateFormat df = new SimpleDateFormat(pattern);
return df.format(dt);
} public static final String Now() {
return Now(timePattern);
} public static final String Today() {
return Now(datePattern);
} public static final String Today(String pattern) {
return Now(pattern);
} public static final Date MinDate() {
return StringToDate(minDate);
} public static final Long DateDiff(Date start, Date end) {
long days = 0;
days = (start.getTime() - end.getTime()) / (60 * 60 * 24 * 1000);
return days;
} public static final Long DateDiff(String start, String end) {
return DateDiff(StringToDatetime(start), StringToDatetime(end));
} public static final Long DateDiff(String end) {
return DateDiff(StringToDatetime(Today()), StringToDatetime(end));
} @SuppressWarnings("deprecation")
public static final Long Age(Date today, Date birthday) {
long age = 0;
age = today.getYear() - birthday.getYear();
if (today.getMonth() == birthday.getMonth()) {
age = (today.getDay() < birthday.getDay()) ? age - 1 : age;
} else {
age = (today.getMonth() > birthday.getMonth()) ? age : age - 1;
}
return age;
}
}

Java中常用的日期操作方法的更多相关文章

  1. java中常用的工具类(三)

    继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类       ...

  2. java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing

    java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...

  3. Java高级特性 第2节 java中常用的实用类(1)

    一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...

  4. Java中的时间日期处理

    程序就是输入——>处理——>输出.对数据的处理是程序员需要着重注意的地方,快速.高效的对数据进行处理时我们的追求.其中,时间日期的处理又尤为重要和平凡,此次,我将把Java中的时间日期处理 ...

  5. java 中常用的类

    java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l  static double abs(double  a) 获取double 的绝对值 l  sta ...

  6. Java中常用的查找算法——顺序查找和二分查找

    Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位 ...

  7. java中常用的工具类(二)

    下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil           Java   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  8. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  9. Java中常用的运算符

    运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...

随机推荐

  1. 【Loadrunner】使用LoadRunner上传及下载文件

    使用LoadRunner上传及下载文件 1)LoadRunner上传文件 web_submit_data("importStudent.do", "Action=http ...

  2. Mirror--程序访问镜像数据库的超时机制

    程序在访问有镜像的数据库和无镜像的数据库时,采用的链接超时时间算法不一样,因此会导致在在有镜像的数据库上设置了15 S的超时时间,而实际的超时时间仅为3.6 S,从而导致有镜像的数据库更容易超时. 在 ...

  3. iis启动&nbsp;服务无法在此时接受控制信息。&nbsp;(异常来自&nbsp;HRESULT:0x80070425)

    问题描述:每隔一段时间应用程序池就会自动停止,报错:服务无法在此时接受控制信息.(异常来自 HRESULT:0x80070425)   iis启动 服务无法在此时接受控制信息. (异常来自HRESUL ...

  4. IScroll5中文API整理,用法与参考

    IScroll是移动页面上被使用的一款仿系统滚动插件.IScroll5相对于之前的IScroll4改进了许多,使得大家可以更方便的定制所需的功能了. 做项目的时候正好用到了这个插件,自己做了一下总结, ...

  5. vmware克隆虚拟机

    克隆步骤 右键需要克隆的虚拟机 > 管理,在克隆向导中选择完整克隆. 实验环境:win10_64bit + vmware 12 pro + CentOS6.9_64bit 克隆之后网络配置 克隆 ...

  6. PAT 1142 Maximal Clique[难]

    1142 Maximal Clique (25 分) A clique is a subset of vertices of an undirected graph such that every t ...

  7. rails 日期取值

    获取当前时间 当前时间 Time.now UTC时间, 国际标准时间 Time.now.utc 日相关 今日开始时间00:00:00 Time.now.beginning_of_day => 2 ...

  8. poj1329 Circle Through Three Points

    地址:http://poj.org/problem?id=1329 题目: Circle Through Three Points Time Limit: 1000MS   Memory Limit: ...

  9. 20145314郑凯杰《网络对抗技术》可选实验 shellcode注入与Return-to-libc攻击实验

    20145314郑凯杰<网络对抗技术>可选实验 shellcode注入与Return-to-libc攻击实验 1.0 实践内容 Return-to-libc攻击是一种特殊的缓冲区溢出攻击, ...

  10. Egret引擎开发基础(一)

    显示图片 var batman:egret.Bitmap = new egret.Bitmap( RES.getRes('hexo-huaheshang_png')); batman.x = 0; b ...