zoukankan      html  css  js  c++  java
  • java 日期操作辅助类

    FormatDate.java

    package com.ucit.ca.webApp.tool;
    
    import java.util.*;
    import java.text.*;
    
    public class FormatDate {
    
    	public FormatDate() {
    	}
    
    	// 格式化日期为字符串 "yyyy-MM-dd   hh:mm"
    	public String formatDateTime(Date basicDate, String strFormat) {
    		SimpleDateFormat df = new SimpleDateFormat(strFormat);
    		return df.format(basicDate);
    	}
    
    	// 格式化日期为字符串 "yyyy-MM-dd   hh:mm"
    	public String formatDateTime(String basicDate, String strFormat) {
    		SimpleDateFormat df = new SimpleDateFormat(strFormat);
    		Date tmpDate = null;
    		try {
    			tmpDate = df.parse(basicDate);
    		} catch (Exception e) {
    			// 日期型字符串格式错误
    		}
    		return df.format(tmpDate);
    	}
    
    	// 当前日期加减n天后的日期,返回String (yyyy-mm-dd)
    	public String nDaysAftertoday(int n) {
    		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    		Calendar rightNow = Calendar.getInstance();
    		// rightNow.add(Calendar.DAY_OF_MONTH,-1);
    		rightNow.add(Calendar.DAY_OF_MONTH, +n);
    		return df.format(rightNow.getTime());
    	}
    
    	// 当前日期加减n天后的日期,返回String (yyyy-mm-dd)
    	public Date nDaysAfterNowDate(int n) {
    		Calendar rightNow = Calendar.getInstance();
    		// rightNow.add(Calendar.DAY_OF_MONTH,-1);
    		rightNow.add(Calendar.DAY_OF_MONTH, +n);
    		return rightNow.getTime();
    	}
    
    	// 给定一个日期型字符串,返回加减n天后的日期型字符串
    	public String nDaysAfterOneDateString(String basicDate, int n) {
    		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    		Date tmpDate = null;
    		try {
    			tmpDate = df.parse(basicDate);
    		} catch (Exception e) {
    			// 日期型字符串格式错误
    		}
    		long nDay = (tmpDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n)
    				* (24 * 60 * 60 * 1000);
    		tmpDate.setTime(nDay);
    
    		return df.format(tmpDate);
    	}
    
    	// 给定一个日期,返回加减n天后的日期
    	public Date nDaysAfterOneDate(Date basicDate, int n) {
    		long nDay = (basicDate.getTime() / (24 * 60 * 60 * 1000) + 1 + n)
    				* (24 * 60 * 60 * 1000);
    		basicDate.setTime(nDay);
    
    		return basicDate;
    	}
    
    	// 计算两个日期相隔的天数
    	public int nDaysBetweenTwoDate(Date firstDate, Date secondDate) {
    		int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));
    		return nDay;
    	}
    
    	// 计算两个日期相隔的天数
    	public int nDaysBetweenTwoDate(String firstString, String secondString) {
    		SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    		Date firstDate = null;
    		Date secondDate = null;
    		try {
    			firstDate = df.parse(firstString);
    			secondDate = df.parse(secondString);
    		} catch (Exception e) {
    			// 日期型字符串格式错误
    		}
    
    		int nDay = (int) ((secondDate.getTime() - firstDate.getTime()) / (24 * 60 * 60 * 1000));
    		return nDay;
    	}
    
    }
    
    

    源码下载地址:

    http://cid-6adab3222e64b22c.skydrive.live.com/self.aspx/.Public/%e4%bb%a3%e7%a0%81/javaToolClass/FormatDate.java

  • 相关阅读:
    对数线性模型与线性链条件随机场
    25匹马,5个跑道,每个跑道最多能有1匹马进行比赛,最少比多少次能比出前3名?前5名?
    SVM 与 LR的异同
    EM算法简易推导
    K-means算法的优缺点
    自助采样包含训练集里63.2%的样本?
    指数加权移动平均
    oracle 对于用户的相关操作
    docker 安装 maven 私有库 nexus3
    idea 自动注入@Autowired 警告 Field injection is not recommended 关闭
  • 原文地址:https://www.cnblogs.com/jifeng/p/1751171.html
Copyright © 2011-2022 走看看