• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

java常用工具类 Date日期、Mail邮件工具类

java 搞代码 4年前 (2022-01-09) 47次浏览 已收录 0个评论

本文实例为大家分享了java常用工具类的具体实现代码,供大家参考,具体内容如下

package com.jarvis.base.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 *  
 * 
 * @Title: DateHelper.java
 * @Package com.jarvis.base.util
 * @Description:日期工具类
 * @version V1.0 
 */
public class DateHelper {

 /**
 * 日期格式yyyy-MM-dd
 */
 public static final String pattern_date = "yyyy-MM-dd";

 /**
 * 日期时间格式yyyy-MM-dd HH:mm:ss
 */
 public static final String pattern_time = "yyyy-MM-dd HH:mm:ss";

 /**
 * 描述:日期格式化
 * 
 * @param date
 *      日期
 * @return 输出格式为 yyyy-MM-dd 的字串
 */
 public static String formatDate(Date date) {
 return formatDate(date, pattern_time);
 }

 /**
 * 描述:日期格式化
 * 
 * @param date
 *      日期
 * @param pattern
 *      格式化类型
 * @return
 */
 public static String formatDate(Date date, String pattern) {
 SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
 return dateFormat.format(date);
 }

 /**
 * 描述:解析日期字串
 * 
 * @pa<strong>本文来源gaodaima#com搞(代@码$网6</strong>ram dateStr
 *      日期字串
 * @return 按 yyyy-MM-dd HH:mm:ss 格式解析
 */
 public static Date parseString(String dateStr) {
 return parseString(dateStr, "yyyy-MM-dd HH:mm:ss");
 }

 /**
 * 描述:解析日期字串
 * 
 * @param dateStr
 *      日期字串
 * @param pattern
 *      字串日期格式
 * @return 对应日期类型数据
 */
 public static Date parseString(String dateStr, String pattern) {
 SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
 try {
  if (!StringHelper.isEmpty(dateStr)) {
  return dateFormat.parse(dateStr);
  }
 } catch (ParseException ex) {
  ex.printStackTrace();
  System.err.println(dateStr + "转换成日期失败,可能是不符合格式:" + pattern);
 }
 return null;
 }

 /**
 * 描述:获取指定日期的中文星期数
 * 
 * @param date
 *      指定日期
 * @return 星期数,如:星期一
 */
 public static String getWeekStr(Date date) {
 Calendar calendar = Calendar.getInstance();
 calendar.setTime(date);
 int week = calendar.get(7);
 --week;
 String weekStr = "";
 switch (week) {
 case 0:
  weekStr = "星期日";
  break;
 case 1:
  weekStr = "星期一";
  break;
 case 2:
  weekStr = "星期二";
  break;
 case 3:
  weekStr = "星期三";
  break;
 case 4:
  weekStr = "星期四";
  break;
 case 5:
  weekStr = "星期五";
  break;
 case 6:
  weekStr = "星期六";
 }
 return weekStr;
 }

 /**
 * 描述:间隔时间
 * 
 * @param date1
 * @param date2
 * @return 毫秒数
 */
 public static long getDateMiliDispersion(Date date1, Date date2) {
 if ((date1 == null) || (date2 == null)) {
  return 0L;
 }

 long time1 = date1.getTime();
 long time2 = date2.getTime();

 return time1 - time2;
 }

 /**
 * 描述:间隔天数
 * 
 * @param date1
 * @param date2
 * @return 天数
 */
 public static int getDateDiff(Date date1, Date date2) {
 if ((date1 == null) || (date2 == null)) {
  return 0;
 }
 long time1 = date1.getTime();
 long time2 = date2.getTime();

 long diff = time1 - time2;

 Long longValue = new Long(diff / 86400000L);
 return longValue.intValue();
 }

 /**
 * 描述:获取指定日期之前多少天的日期
 * 
 * @param date
 *      指定日期
 * @param day
 *      天数
 * @return 日期
 */
 public static Date getDataDiff(Date date, int day) {
 if (date == null) {
  return null;
 }
 long time = date.getTime();
 time -= 86400000L * day;
 return new Date(time);
 }

 /**
 * 描述:获取当前周
 * 
 * @return
 */
 public static int getCurrentWeek() {
 Calendar calendar = Calendar.getInstance();
 int week = calendar.get(7);
 --week;
 if (week == 0) {
  week = 7;
 }
 return week;
 }

 /**
 * 描述:获取中文当前周
 * 
 * @return
 */
 public static String getCurrentWeekStr() {
 return getWeekStr(new Date());
 }

 /**
 * 描述:获取本年
 * 
 * @return
 */
 public static int getCurrentYear() {
 Calendar calendar = Calendar.getInstance();
 return calendar.get(1);
 }

 /**
 * 描述:获取本月
 * 
 * @return
 */
 public static int getCurrentMonth() {
 Calendar calendar = Calendar.getInstance();
 return calendar.get(2) + 1;
 }

 /**
 * 描述:获取本月的当前日期数
 * 
 * @return
 */
 public static int getCurrentDay() {
 Calendar calendar = Calendar.getInstance();
 return calendar.get(5);
 }

 /**
 * 描述:当前时间与指定时间的差
 * 
 * @param str
 *      秒数
 * @return 时间差,单位:秒
 */
 public static int getUnixTime(String str) {
 if ((str == null) || ("".equals(str))) {
  return 0;
 }
 try {
  long utime = Long.parseLong(str) * 1000L;
  Date date1 = new Date(utime);

  Date date = new Date();

  long nowtime = (date.getTime() - date1.getTime()) / 1000L;
  return (int) nowtime;
 } catch (Exception e) {
  e.printStackTrace();
  System.err.println("获取时差失败");
 }
 return 0;
 }

 /**
 * 描述:去除日期字串中原“-”和“:”
 * 
 * @param dateTime日期字串
 * @return
 */
 public static String formatString(String dateTime) {
 if ((dateTime != null) && (dateTime.length() >= 8)) {
  String formatDateTime = dateTime.replaceAll("-", "");
  formatDateTime = formatDateTime.replaceAll(":", "");
  String date = formatDateTime.substring(0, 8);
  return date;
 }

 return "";
 }

 /**
 * 描述:当前时间与指定时间的差
 * 
 * @param str
 *      yyyy-MM-dd HH:mm:ss 格式的日期
 * @return 时间差,单位:秒
 */
 public static int getTimesper(String str) {
 if ((str == null) || ("".equals(str))) {
  return 0;
 }
 try {
  Date date1 = new Date(Long.parseLong(str));
  Date date = new Date();
  long nowtime = (date.getTime() - date1.getTime()) / 1000L;
  return (int) nowtime;
 } catch (Exception e) {
  e.printStackTrace();
  System.err.println("日期转换出错");
 }
 return 0;
 }

 /**
 * 描述:获取16位日期时间,yyyyMMddHHmmss
 * 
 * @param dateTime
 *      字串日期
 * @return
 */
 public static String formatDateTime(String dateTime) {
 if ((dateTime != null) && (dateTime.length() >= 8)) {
  String formatDateTime = dateTime.replaceAll("-", "");
  formatDateTime = formatDateTime.replaceAll(":", "");
  String date = formatDateTime.substring(0, 8);
  String time = formatDateTime.substring(8).trim();
  for (int i = time.length(); i < 6; ++i) {
  time = time + "0";
  }
  return date + time;
 }

 return "";
 }

 /**
 * 描述:获取16位日期时间,yyyyMMddHHmmss
 * 
 * @param date
 *      日期
 * @return
 */
 public static String formatDateTime(Date date) {
 String dateTime = formatDate(date);
 return formatDateTime(dateTime);
 }
}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:java常用工具类 Date日期、Mail邮件工具类
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址