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

java 日期工具类

    博客分类:
  • Ext
阅读更多

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Collection;
import java.util.Date;

public class Utility {
 
 static DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
 static DateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 static Calendar currentCalendar = Calendar.getInstance();
 static DecimalFormat decimalFormat = new DecimalFormat("#.00");
 
 public static Date currentDateTime() {
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  
  return currentCalendar.getTime();
 }
 
 public static String dateToString(Date date,boolean withTime) {
  
  if(date == null){
   currentCalendar.setTimeInMillis(System.currentTimeMillis());
   date = currentCalendar.getTime();
  }  
  
  return withTime ? dateTimeFormat.format(date) :dateFormat.format(date);
 } 

 public static Date stringToDate(String sdate){
  
  try {
   return isNullOrEmpty(sdate) ? currentDateTime() : dateFormat.parse(sdate);
  } catch (ParseException e) {
   return currentDateTime();
  }
 } 
 
 public static boolean before(String d1,String d2){
  return stringToDate(d1).before(stringToDate(d2));
 }
 
 public static boolean after(String d1,String d2){
  return stringToDate(d1).after(stringToDate(d2));
 }
 
 public static String getYearBegin(String year){
  try {
   if(!isNullOrEmpty(year))
    currentCalendar.set(Calendar.YEAR, Integer.parseInt(year));
   else
    currentCalendar.setTimeInMillis(System.currentTimeMillis()); 
  } catch (NumberFormatException e) {
   currentCalendar.setTimeInMillis(System.currentTimeMillis());  
  }
  currentCalendar.set(Calendar.MONTH, 0);
  currentCalendar.set(Calendar.DATE, 1);
  return dateToString(currentCalendar.getTime(),false);  
 }
 
 public static String getYearEnd(String year){
  try {
   if(!isNullOrEmpty(year))
    currentCalendar.set(Calendar.YEAR, Integer.parseInt(year));
   else
    currentCalendar.setTimeInMillis(System.currentTimeMillis()); 
  } catch (NumberFormatException e) {
   currentCalendar.setTimeInMillis(System.currentTimeMillis());  
  }
  currentCalendar.set(Calendar.MONTH, 11);
  currentCalendar.set(Calendar.DATE, 31);
  return dateToString(currentCalendar.getTime(),false);  
 }
 
 public static String getYearBegin(){
  return getYearBegin(null);  
 }
 
 public static String getYearEnd(){
  return getYearEnd(null);  
 }
 
 public static String currentDateString(){
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  
  return dateFormat.format(currentCalendar.getTime());
 }
 
 public static String currentDateTimeToString() {
        currentCalendar.setTimeInMillis(System.currentTimeMillis());
       
        return dateTimeFormat.format(currentCalendar.getTime());
 }
 
 public static String getDateFlag(boolean withMonth) {
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  
  return getDateFlag(currentCalendar.getTime(),withMonth);
 }
 
 public static String getDateFlag(String dateString){
  
  return (dateString!=null||!"".equals(dateString)) ? dateString.replaceAll("-", "").substring(0,6) : getDateFlag(true);
 }
 
 public static String getDateFlag(String dateString,boolean withMonth){
  
  return (dateString!=null||!"".equals(dateString)) ? dateString.replaceAll("-", "").substring(0, withMonth ? 6 : 4) + (withMonth ? "":"00") : getDateFlag(withMonth);
 }
 
 public static String getDateFlag(Date date){
  
  return getDateFlag(date,true);
 }
 
 public static String getDateFlag(Date date,boolean withMonth){
  
  return (date!=null)? dateFormat.format(date).replaceAll("-", "").substring(0, withMonth ? 6 : 4) + (withMonth ? "":"00") : getDateFlag(withMonth);
 }
 
 @SuppressWarnings("unchecked")
 public static boolean isNullOrEmpty(Collection c){
  return (c == null||c.size()==0);
 }
 
 public static boolean isNullOrEmpty(String s){
  return (s == null||s.length()==0);
 }
 
 public static String getCurrentYear(){
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  
  return currentCalendar.get(Calendar.YEAR)+"00";
 }
 
 public static String getNextYear(String yearFlag){
  
  int year = Integer.parseInt(yearFlag.substring(0, 4));
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  currentCalendar.set(Calendar.YEAR, year+1);
  
  return currentCalendar.get(Calendar.YEAR)+"00";
 }
 
 public static String getNextMonthDateFlag(){
  
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  currentCalendar.add(Calendar.MONTH, 1);
  
  return getDateFlag(currentCalendar.getTime(),true);
 }
 
 public static Integer getCurrentMonth(){
  currentCalendar.setTimeInMillis(System.currentTimeMillis());
  
  return currentCalendar.get(Calendar.MONTH)+1;
 }
 
 public static String format(double number) throws ParseException{
  return decimalFormat.format(number);
 }
 
 public static Number parse(String source) throws ParseException{
  return decimalFormat.parse(source);
 }
 
 public static String changeMonth(int i){
  String month = "";
  if(i<10){
   month = "0"+i;
  }else {
   month = String.valueOf(i);
  }
  return month;
 }
 
 public static BigDecimal toBigDecimal(String value){
  try {
   return BigDecimal.valueOf(Double.valueOf(value).doubleValue());
  } catch (Exception e) {
   return new BigDecimal(0);
  }
 }
}

分享到:
评论

相关推荐

    Java日期工具类

    Java日期工具类 1、日期的各种格式化 2、获取当前年度 3、获取当前月份 4、获取当前天号数 5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、...

    java日期工具类

    java日期工具类,java日期工具类,java日期工具类,java日期工具类

    Java 日期比较工具类

    Java 日期比较工具类 各种日期操作及计算( 获取两个日期 间隔天数 间隔月数 格式化日期 )

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

    NULL 博文链接:https://fanshuyao.iteye.com/blog/2355386

    DateUtil java日期工具类

    个人整理的java的关于Date对象的日期时间处理工具类,若存在问题还望大家在评论中提出,我将一直进行修改维护

    自封装java日期工具类上传

    这是日期工具类,后续会继续上传

    日期 dateutil Java 日期工具类

    快速日期格式化类 ,线程安全的 包括:获取 DateUtil.STYLE格式的日期 字符转日期 日期转字符 字符日期从src_format改为dest_format 返回当前系统日期时间等

    java日期工具类-各种转换

    各种日期格式化和转换 将 Calendar 转为字符串 获取当前月份的最后一天 根据 timestamp 生成各类时间状态串 计算两个日期之间相差的天数 等等等等

    java日期工具类DateUti

    一名优秀的程序员,不仅需要有着丰富解决问题的方案,...虽然网络上也有类似的工具类,但我愿意自己写的原因有三: 1、好代码并不容易找,不满足需要的倒是不少 2、可能存在未知的bug 3、丧失了巩固和提高自己的机会

    最全的java时间(日期)工具类

    最全的java开发时间工具类(日期处理工具类)。

    java日期相关处理工具类大全

    在开发过程中,经常会判断日期处理。文档是开发过程中对时间处理,几乎包含不了所有用的转换,请放心使用。

    Java开发工具类

    - QrcodeUtils.java\防止SQL注入和XSS攻击Filter\获取文件绝对路径最后的文件夹名称\加密工具类 - CryptoUtils.java\日期工具类 - DateUtil.java\图片处理工具类 - ImageUtils.java\文件相关操作工具类——FileUtils...

    Java日期工具类DateUtils实例详解

    主要为大家详细介绍了Java日期工具类DateUtils实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    30个java工具类

    [工具类] Java中计算任意两个日期之间的工作天数 .java.txt [工具类] java抓取网页 .java.txt [工具类] MD5 .java.txt [工具类] MD5强化版 .java.txt [工具类] MD5超强化版 .java.txt [工具类] XML 实用工具类 .java...

    java日期工具类实例分享

    本文介绍一个java日期工具类,功能有英文简写、英文全称、精确到毫秒的完整时间、中文简写、中文全称等方法

Global site tag (gtag.js) - Google Analytics