Java中常用的日期操作方法
日常项目当中经常会用到操作日期,抽出时间总结了一下,欢迎和大家多多沟通学习,如有任何改进意见和建议,我的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中常用的日期操作方法的更多相关文章
- java中常用的工具类(三)
继续分享java中常用的一些工具类.前两篇的文章中有人评论使用Apache 的lang包和IO包,或者Google的Guava库.后续的我会加上的!谢谢支持IT江湖 一.连接数据库的综合类 ...
- java中常用的包、类、以及包中常用的类、方法、属性----sql和text\swing
java中常用的包.类.以及包中常用的类.方法.属性 常用的包 java.io.*; java.util.*; java.lang.*; java.sql.*; java.text.*; java.a ...
- Java高级特性 第2节 java中常用的实用类(1)
一.Java API Java API即Java应用程序编程接口,他是运行库的集合,预先定义了一些接口和类,程序员可以直接调用:此外也特指API的说明文档,也称帮助文档. Java中常用的包: jav ...
- Java中的时间日期处理
程序就是输入——>处理——>输出.对数据的处理是程序员需要着重注意的地方,快速.高效的对数据进行处理时我们的追求.其中,时间日期的处理又尤为重要和平凡,此次,我将把Java中的时间日期处理 ...
- java 中常用的类
java 中常用的类 Math Math 类,包含用于执行基本数学运算的方法 常用API 取整 l static double abs(double a) 获取double 的绝对值 l sta ...
- Java中常用的查找算法——顺序查找和二分查找
Java中常用的查找算法——顺序查找和二分查找 神话丿小王子的博客 一.顺序查找: a) 原理:顺序查找就是按顺序从头到尾依次往下查找,找到数据,则提前结束查找,找不到便一直查找下去,直到数据最后一位 ...
- java中常用的工具类(二)
下面继续分享java中常用的一些工具类,希望给大家带来帮助! 1.FtpUtil Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
- java中常用的工具类(一)
我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...
- Java中常用的运算符
运算符是一种“功能”符号,用以通知 Java 进行相关的运算,Java 语言中常用的运算符可分为如下几种: 算数运算符.赋值运算符.比较运算符.逻辑运算符.条件运算符. 一.算数运算符 Java 中常 ...
随机推荐
- Django Rest Framework(3)-----APIView与Viewsets
REST framework提供了一个APIView类,它是Django的View类的子类. REST framework主要的几种view以及他们之间的关系: mixins 到目前为止,我们使用的创 ...
- CSV文件读取类
最近项目中,经常需要读取Csv文件.基本步骤是: (1)按行读取 (2)然后将一行数据按逗号,分割为字符串数组 (3)将各列字符串转换成相应类型的数据 ,如int double类型 写了一个简单的Cs ...
- python3 os.walk()使用
os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下. 在Unix,Windows中有效. os.walk(top[, topdown=True[, onerror=Non ...
- ES6基本语法和一些面向对象的知识
声明变量 var 使用var声明变量会将变量的声明提到全局,在局部作用域声明的在全局也能打印 { var a = 12; } // 变量提升 var会将变量的声明提到全局 console.log(a) ...
- 安装WIN7时提示“缺少所需的CD/DVD驱动器设备驱动程序”
同事机器重装Win7,先百度了一下不适合64bit,于是直接上32bit系统. BOIS设置DVD启动,把安装盘放在移动光驱里,开始安装. 在安装时出现下图错误:“缺少所需的CD/DVD驱动器设备驱动 ...
- MyBatis—mapper.xml映射配置
SQL文件映射(mapper文件),几个顶级元素的配置: mapper元素:根节点只有一个属性namespace(命名空间)作用: 1:用于区分不同的mapper,全局唯一. 2:绑定DAO接口,即面 ...
- 对Man-In-The-Middle攻击的一点理解
1) 中间人攻击最容易理解的可能就是fiddler吧,他可以截获request重新组织request的数据,有个专业的攻击工具叫burp. 2) 数据存在immutable,mutable ...
- Django加载静态网页模板
Django加载静态网页模板 步骤: 第一步:在子系统blog根目录下新建模版目录templates,里面新建一个login.html <!DOCTYPE html> <html l ...
- linux实践--字符集
一.ASCII码 首先懂得ASCII码表 二 八 十 十六 缩写/字符 0000 0000 0 0 00 NUL(null) 0000 0001 1 1 01 SOH(start of headlin ...
- Java实现:数据结构之排序
Java实现:数据结构之排序 0.概述 形式化定义:假设有n个记录的序列(待排序列)为{ R1, R2 , -, Rn },其相应的关键字序列为 { K1, K2, -, Kn }.找到{1,2, - ...