`
babydeed
  • 浏览: 237985 次
  • 性别: 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.util.Date`、`java.util.Calendar`、`java.text.SimpleDateFormat`以及Java...

    Java 日期比较工具类

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

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

    本篇将围绕Java中的日期工具类和时间工具类展开讨论,同时会涉及到日期时间的格式化。 首先,Java 8之前,我们主要依赖`java.util.Date`和`java.text.SimpleDateFormat`这两个类来处理日期和时间。`Date`类用于表示...

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

    public static final String PATTERN_YYYY_MM_DD = "yyyy-MM-dd";public static final String YYYY_MM_DD = "yyyyMMdd";public static final String PATTERN_YYYY_MM_DD2 = "yyyy/MM/dd";/** 完整时间 yyyy-MM-dd HH...

    DateUtil java日期工具类

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

    自封装java日期工具类上传

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

    日期 dateutil Java 日期工具类

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

    Java日期工具类DateUtils实例详解

    Java 日期工具类 DateUtils 实例详解 本文主要介绍了 Java 日期工具类 DateUtils 实例的实现和使用,涵盖了日期工具类的常用方法和变量,包括日期格式化、字符串转换、日期比较等。 日期工具类 DateUtils ...

    java日期工具类-各种转换

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

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

    本文将深入探讨Java中的日期时间工具类,特别是基于给定的"DateUtil.java"文件,我们将聚焦在传统`java.util.Date`和`java.text.SimpleDateFormat`以及Java 8的`java.time`包中的相关类。 首先,我们来看看`java....

    java日期工具类DateUti

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

    java日期工具类实例分享

    Java日期工具类在软件开发中扮演着重要角色,尤其是在处理与日期和时间相关的任务时。本文分享的`DateUtils`是一个自定义的日期工具类,它提供了多种格式化和解析日期的方法,以适应不同的需求。下面将详细介绍这个...

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

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

Global site tag (gtag.js) - Google Analytics