日期工具类DateUtils

CreateTime--2017年5月27日08:48:00
Author:Marydon

  DateUtils.java-对日期类的进一步封装

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; /**
* 封装日期类
*
* @author Marydon
* @createTime 2017年5月27日上午8:49:50
* @updateTime
* @Email:Marydon2017@163.com
* @version:1.0.0
*/
public class DateUtils {
/**
* 对日期进行格式化
* @param date
* 要转换的日期
* @param pattern
* 希望转换成什么样的格式
* @return str
* 格式化后的日期字符串
*/
public static String dateFormat(Date date, String pattern){
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
String str = sdf.format(date);
return str;
} /**
* 根据初始日期推算期望(向前/向后)日期
* @param initTime
* 初始日期(initTime可以是null、Date、String数据类型)
* @param n
* 向前/向后推算n天(n可以是正整数、0、负整数)
* @return
* 推算后的日期字符串
*/
public static String getCalculateDay(Object initTime,int n){
// 返回推算后的日期
String calculateDay = "";
try {
// 实例化日历类Calendar
Calendar calendar = Calendar.getInstance();
// 定义日期格式化样式
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 初始日期
Date initDate = null;
// 判断参数类型
if (null == initTime) {
// 取系统当前时间
initDate = new Date();
} else if (initTime instanceof Date) {
initDate = (Date)initTime;
} else {
// 日期格式字符串转换成日期类Date
initDate = sdf.parse((String)initTime);
}
// 设置日历时间
calendar.setTime(initDate);
// 设置推算后的日历时间
calendar.add(Calendar.DATE, n);
// 获取推算后的日期
Date calculateDate = calendar.getTime();
// 进行格式化
calculateDay = sdf.format(calculateDate);
} catch(ParseException e) {
return calculateDay;
}
return calculateDay;
}
}
  根据初始日期推算期望(向前/向后)日期之方法二
/**
* 根据初始日期推算期望(向前/向后)日期
* @param initTime
* 初始日期
* @param n
* 向前/向后推算n天
* @return
* 推算后的日期
*/
public static String getCalculateDay(Object initTime,int n) throws ParseException{
// 返回推算后的日期
String calculateDay = ""; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 初始日期
Date initDate = null; if (initTime instanceof Date)
  initDate = (Date)initTime;
else
  initDate = sdf.parse((String)initTime);
// 转换成距离1970年0时0分的毫秒数
Long initMilliSeconds = initDate.getTime();
// 一天代表的毫秒数
int oneDayTime = 24 * 60 * 60 * 1000;
initMilliSeconds += oneDayTime * n; // 推算出的日期
Date calculateDate = new Date(initMilliSeconds);
calculateDay = sdf.format(calculateDate);
return calculateDay;
}

  UpdateTime--2017年8月10日17:12:21

  获取系统当前时间

  方法一:

    调用上面的DateUtils.dateFormat(new Date(),"yyyy-MM-dd") 即可

  方法二:

public static Calendar calendar = Calendar.getInstance();
/**
* 获取当前年份
*
* @return
*/
public static int getCurYear() {
return calendar.get(Calendar.YEAR);
} /**
* 获取当前月份
*
* @return
*/
public static int getJCMMonth() {
return calendar.get(Calendar.MONTH) + 1;
} /**
* 获取当前天
*
* @return
*/
public static int getJCMDay() {
return calendar.get(Calendar.DATE);
} /**
* 获取当前月份(01,02,03......11,12)
*
* @return
*/
public static String getJCMMonthF() {
return formatDate(calendar.get(Calendar.MONTH) + 1);
} /**
* 获取当前天(01,02,03......29,30)
*
* @return
*/
public static String getJCMDayF() {
return formatDate(calendar.get(Calendar.DATE));
} /**
* 把月份和日期修改为两位数字
*
* @param date
* @return
*/
public static String formatDate(int date) {
String date2 = "0";
if (date <= 9) {
date2 += String.valueOf(date);
} else {
date2 = String.valueOf(date);
}
return date2;
}

  测试:

// 获取系统当前时间
// 方式一
// 1.这种方式返回的月和日如果没有值小于10,不会自动加0;
// 2.int转String,直接拼接字符串会自动将结果转换成String
System.out.println(getCurYear() + "-" + getJCMMonth() + "-" + getJCMDay());//2017-8-9
// 方式二
System.out.println(getCurYear() + "-" + getJCMMonthF() + "-" + getJCMDayF());//2017-08-09  
 

java 日期工具类DateUtils的更多相关文章

  1. Java日期工具类DateUtils详解(转)

    jar包 appache下的 common-lang3 一. 对指定的日期新增年.月.周.日.小时.分钟.秒.毫秒 public static Date addDays(Date date, int ...

  2. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  3. java日期工具类DateUtil-续一

    上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...

  4. java日期工具类DateUtil-续二

    该版本是一次较大的升级,农历相比公历复杂太多(真佩服古人的智慧),虽然有规律,但涉及到的取舍.近似的感念太多,况且本身的概念就已经很多了,我在网上也是查阅了很多的资料,虽然找到一些计算的方法,但都有些 ...

  5. java日期工具类DateUtil

    一名优秀的程序员,不仅需要有着丰富解决问题的方案,还需要的便是代码的沉淀,这不仅有助于自己快速的开发程序,也有利于保证程序的健壮.那如何才能沉淀自己的”代码“呢?从自己编写util开始其实就是一个不错 ...

  6. 日期工具类 DateUtils(继承org.apache.commons.lang.time.DateUtils类)

    /** * */ package com.dsj.gdbd.utils.web; import org.apache.commons.lang3.time.DateFormatUtils; impor ...

  7. JAVA 日期工具类的总结

    一般,在项目中,我们会会经常使用到日期的各种方式的处理,在各个业务逻辑操作中,都需要相关的日期操作,因此,实现项目中的日期工具类的提出,还是十分重要的,下面,就项目中常用到的日期的相关操作方式,做了一 ...

  8. Java 日期工具类(日期,月份加减等)--转

    package util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.C ...

  9. java 日期工具类

    import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; imp ...

随机推荐

  1. 利用Palette库来取得图片中的主要色彩

    其实就我对开源库的了解,有很多开源库都能实现自动计算出任意一张图片中的主要色彩的功能,这种看似神奇实则枯燥的技术很容易适用到手机的UI中.根据不同的背景定制不同的UI,这个在最新的Android Ma ...

  2. 详细解释如何通过Android自带的方式来实现图片的裁剪——原理分析+解决方案

    我们很多时候需要进行图片的裁剪,其实这个功能在android系统中已经有一套解决方案了,虽然界面和效果并不是很优秀但功能毫无疑问是完美实现了.至于,不用自带的方案怎么做自定义,这个就是后话了.本篇主要 ...

  3. 开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用

    MultiChoiceBaseAdapter是一个可以多选的BaseAdapter,使用的方式相比来说扩展性更强! 使用方式: 1.布局文件 2.写一个类继承MultiChoiceBaseAdapte ...

  4. HTTPS为什么更安全,先看这些 , 网络加密 , 加密解密

    投递人 itwriter 发布于 2017-02-27 21:35 评论(10) 有1957人阅读 原文链接 [收藏] « » HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 H ...

  5. "Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased."

    用一个普通的域帐号玩私有云的时候,遇到了如下的报错. "Your computer could not be joined to the domain. You have exceeded ...

  6. 杨晓峰-Java核心技术-9 HashMap Hashtable TreeMap MD

    目录 第9讲 | 对比Hashtable.HashMap.TreeMap有什么不同? 典型回答 考点分析 知识扩展 Map 整体结构 有序 Map HashMap 源码分析 容量.负载因子和树化 精选 ...

  7. 【LeetCode】Number of Islands

    Number of Islands 问题描写叙述 Given a 2d grid map of '1's (land) and '0's (water), count the number of is ...

  8. windows无法访问vmware搭建好虚拟机linux web服务器

    [前置条件] vmware搭建好虚拟机web服务器 ,但是本机就是无法访问的解决办法. linux虚拟机的网络选择Bridged 桥接到本机网卡. 具体情况如下 : 1.本机能ping通虚拟机 2.虚 ...

  9. (转)【Unity Shaders】Vertex Magic —— 访问顶点颜色

    转自:http://blog.csdn.net/candycat1992/article/details/38147767 本系列主要参考<Unity Shaders and Effects C ...

  10. GPUImage API文档之GPUImageFramebufferCache类

    GPUImageFramebufferCache类负责管理GPUImageFramebuffer对象,是一个GPUImageFramebuffer对象的缓存. 方法 - (GPUImageFrameb ...