欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java常用工具類 Date日期、Mail郵件工具類

 更新時間:2019年05月30日 14:50:20   作者:遠方©  
這篇文章主要為大家詳細介紹了java常用工具類,包括Date日期、Mail郵件工具類,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了java常用工具類的具體實現(xiàn)代碼,供大家參考,具體內(nèi)容如下

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 {

 /**
 * 日期格式y(tǒng)yyy-MM-dd
 */
 public static final String pattern_date = "yyyy-MM-dd";

 /**
 * 日期時間格式y(tǒng)yyy-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);
 }

 /**
 * 描述:解析日期字串
 * 
 * @param 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 對應日期類型數(shù)據(jù)
 */
 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 + "轉(zhuǎn)換成日期失敗,可能是不符合格式:" + pattern);
 }
 return null;
 }

 /**
 * 描述:獲取指定日期的中文星期數(shù)
 * 
 * @param date
 *   指定日期
 * @return 星期數(shù),如:星期一
 */
 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 毫秒數(shù)
 */
 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;
 }

 /**
 * 描述:間隔天數(shù)
 * 
 * @param date1
 * @param date2
 * @return 天數(shù)
 */
 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
 *   天數(shù)
 * @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;
 }

 /**
 * 描述:獲取本月的當前日期數(shù)
 * 
 * @return
 */
 public static int getCurrentDay() {
 Calendar calendar = Calendar.getInstance();
 return calendar.get(5);
 }

 /**
 * 描述:當前時間與指定時間的差
 * 
 * @param str
 *   秒數(shù)
 * @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("日期轉(zhuǎn)換出錯");
 }
 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);
 }
}

Mail郵件工具類

package com.jarvis.base.util;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;

/** 
* @Title: MailHelper.java 
* @Package com.jarvis.base.util 
* @Description:mail工具類
* @version V1.0 
*/ 
public class MailHelper
{
 /**
  * 簡單的發(fā)郵件方式 郵件內(nèi)容只有標題和郵件內(nèi)容 支持單個個用戶發(fā)送
  *
  * @param host    郵件服務器地址
  * @param username   連接郵件服務器的用戶名稱
  * @param password   連接郵件服務器的用戶密碼
  * @param subject   郵件的主題
  * @param contents   郵件的內(nèi)容
  * @param toEmailAddress 收件人的郵件地址
  * @param fromEmailAddress 發(fā)件人的郵件地址
  * @throws EmailException
  */
 public static void sendSimpleEmail(String host, String username, String password, String subject, String contents,
          String toEmailAddress, String fromEmailAddress) throws EmailException
 {
  SimpleEmail email = new SimpleEmail();
  email.setHostName(host);
  email.setAuthentication(username, password);
  email.addTo(toEmailAddress);
  email.setFrom(fromEmailAddress, fromEmailAddress);
  email.setSubject(subject);
  email.setContent((Object)contents, "text/plain;charset=GBK");
  email.send();
 }

 /**
  * 簡單的發(fā)郵件方式 郵件內(nèi)容只有標題和郵件內(nèi)容 支持多個用戶批量發(fā)送
  *
  * @param host    郵件服務器地址
  * @param username   連接郵件服務器的用戶名稱
  * @param password   連接郵件服務器的用戶密碼
  * @param subject   郵件的主題
  * @param contents   郵件的內(nèi)容
  * @param toEmailAddress 收件人的郵件地址
  * @param fromEmailAddress 發(fā)件人的郵件地址
  * @throws EmailException
  */
 public static void sendSimpleEmail(String host, String username, String password, String subject, String contents, String [] toEmailAddress, String fromEmailAddress) throws EmailException
 {
  SimpleEmail email = new SimpleEmail();
  email.setHostName(host);
  email.setAuthentication(username, password);
  //發(fā)送給多個人
  for (int i = 0; i < toEmailAddress.length; i++)
  {
   email.addTo(toEmailAddress[i], toEmailAddress[i]);
  }
  email.setFrom(fromEmailAddress, fromEmailAddress);
  email.setSubject(subject);
  email.setContent((Object)contents, "text/plain;charset=GBK");
  email.send();
 }

 /**
  * 發(fā)送帶附件的郵件方式 郵件內(nèi)容有標題和郵件內(nèi)容和附件,附件可以是本地機器上的文本,也可以是web上的一個URL 文件,
  * 當為web上的一個URL文件時,此方法可以將WEB中的URL文件先下載到本地,再發(fā)送給收入用戶
  *
  * @param host    郵件服務器地址
  * @param username   連接郵件服務器的用戶名稱
  * @param password   連接郵件服務器的用戶密碼
  * @param subject   郵件的主題
  * @param contents   郵件的內(nèi)容
  * @param toEmailAddress 收件人的郵件地址
  * @param fromEmailAddress 發(fā)件人的郵件地址
  * @param multiPaths  附件文件數(shù)組
  * @throws EmailException
  */

 public static void sendMultiPartEmail(String host, String username, String password, String subject,
           String contents, String toEmailAddress, String fromEmailAddress,
           String []multiPaths) throws MalformedURLException, EmailException
 {
  List<EmailAttachment> attachmentList = new ArrayList<EmailAttachment>();
  if (multiPaths != null)
  {
   for (int i = 0; i < multiPaths.length; i++)
   {
    EmailAttachment attachment = new EmailAttachment();
    if (multiPaths[i].indexOf("http") == -1) //判斷當前這個文件路徑是否在本地 如果是:setPath 否則 setURL;
    {
     attachment.setPath(multiPaths[i]);
    }
    else
    {
     attachment.setURL(new URL(multiPaths[i]));
    }
    attachment.setDisposition(EmailAttachment.ATTACHMENT);
    attachment.setDescription("");
    attachmentList.add(attachment);
   }
  }

  //發(fā)送郵件信息
  MultiPartEmail email = new MultiPartEmail();
  email.setHostName(host);
  email.setAuthentication(username, password);
  email.addTo(toEmailAddress);
  email.setFrom(fromEmailAddress, fromEmailAddress);
  email.setSubject(subject);
  email.setMsg(contents); //注意這個不要使用setContent這個方法 setMsg不會出現(xiàn)亂碼
  for (int i = 0; i < attachmentList.size(); i++) //添加多個附件
  {
   email.attach((EmailAttachment) attachmentList.get(i));
  }
  email.send();
 }

 /**
  * 發(fā)送帶附件的郵件方式 郵件內(nèi)容有標題和郵件內(nèi)容和附件,附件可以是本地機器上的文本,也可以是web上的一個URL 文件,
  * 當為web上的一個URL文件時,此方法可以將WEB中的URL文件先下載到本地,再發(fā)送給收入用戶
  *
  * @param host    郵件服務器地址
  * @param username   連接郵件服務器的用戶名稱
  * @param password   連接郵件服務器的用戶密碼
  * @param subject   郵件的主題
  * @param contents   郵件的內(nèi)容
  * @param toEmailAddress 收件人的郵件地址數(shù)組
  * @param fromEmailAddress 發(fā)件人的郵件地址
  * @param multiPaths  附件文件數(shù)組
  * @throws EmailException
  */

 public static void sendMultiPartEmail(String host, String username, String password, String subject,
           String contents, String[] toEmailAddress, String fromEmailAddress,
           String []multiPaths) throws MalformedURLException, EmailException
 {
  List<EmailAttachment> attachmentList = new ArrayList<EmailAttachment>();
  if (multiPaths != null)
  {
   for (int i = 0; i < multiPaths.length; i++)
   {
    EmailAttachment attachment = new EmailAttachment();
    if (multiPaths[i].indexOf("http") == -1) //判斷當前這個文件路徑是否在本地 如果是:setPath 否則 setURL;
    {
     attachment.setPath(multiPaths[i]);
    }
    else
    {
     attachment.setURL(new URL(multiPaths[i]));
    }
    attachment.setDisposition(EmailAttachment.ATTACHMENT);
    attachment.setDescription("");
    attachmentList.add(attachment);
   }
  }

  //發(fā)送郵件信息
  MultiPartEmail email = new MultiPartEmail();
  email.setHostName(host);
  email.setAuthentication(username, password);
  //發(fā)送給多個人
  for (int i = 0; i < toEmailAddress.length; i++)
  {
   email.addTo(toEmailAddress[i], toEmailAddress[i]);
  }
  email.setFrom(fromEmailAddress, fromEmailAddress);
  email.setSubject(subject);
  email.setMsg(contents); //注意這個不要使用setContent這個方法 setMsg不會出現(xiàn)亂碼
  for (int i = 0; i < attachmentList.size(); i++) //添加多個附件
  {
   email.attach((EmailAttachment) attachmentList.get(i));
  }
  email.send();
 }


 /**
  * 發(fā)送Html格式的郵件
  *
  * @param host    郵件服務器地址
  * @param username   連接郵件服務器的用戶名稱
  * @param password   連接郵件服務器的用戶密碼
  * @param subject   郵件的主題
  * @param contents   郵件的內(nèi)容
  * @param toEmailAddress 收件人的郵件地址
  * @param fromEmailAddress 發(fā)件人郵件地址
  * @throws EmailException
  */
 public static void sendHtmlEmail(String host, String username, String password, String subject, String contents, String toEmailAddress, String fromEmailAddress) throws EmailException
 {
  HtmlEmail email = new HtmlEmail();
  //email.setDebug(true);
  email.setHostName(host);
  email.setAuthentication(username, password);
  email.addTo(toEmailAddress);
  email.setFrom(fromEmailAddress, fromEmailAddress);
  email.setSubject(subject);
  email.setHtmlMsg(CharHelper.GBKto8859(contents));
  email.send();
 }

 /**
  * 發(fā)送Html格式的郵件
  *
  * @param host    郵件服務器地址
  * @param username   連接郵件服務器的用戶名稱
  * @param password   連接郵件服務器的用戶密碼
  * @param subject   郵件的主題
  * @param contents   郵件的內(nèi)容
  * @param toEmailAddress 收件人的郵件地址數(shù)組
  * @param fromEmailAddress 發(fā)件人郵件地址
  * @throws EmailException
  */
 public static void sendHtmlEmail(String host, String username, String password, String subject, String contents, String[] toEmailAddress, String fromEmailAddress) throws EmailException
 {
  HtmlEmail email = new HtmlEmail();
  email.setHostName(host);
  email.setAuthentication(username, password);
  //發(fā)送給多個人
  for (int i = 0; i < toEmailAddress.length; i++)
  {
   email.addTo(toEmailAddress[i], toEmailAddress[i]);
  }
  email.setFrom(fromEmailAddress, fromEmailAddress);
  email.setSubject(subject);
  email.setHtmlMsg(CharHelper.GBKto8859(contents));
  email.send();
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 15個頂級Java多線程面試題(附答案)

    15個頂級Java多線程面試題(附答案)

    這篇文章主要為大家分享了15個頂級Java多線程面試題,考察面試者是否有足夠的Java線程與并發(fā)知識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 淺談Java中常用數(shù)據(jù)結構的實現(xiàn)類 Collection和Map

    淺談Java中常用數(shù)據(jù)結構的實現(xiàn)類 Collection和Map

    下面小編就為大家?guī)硪黄獪\談Java中常用數(shù)據(jù)結構的實現(xiàn)類 Collection和Map。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • Kylin對接JDBC集成Zepplin的實現(xiàn)方法

    Kylin對接JDBC集成Zepplin的實現(xiàn)方法

    Zepplin是一個非常好用的編輯器工具,通過自定義編碼可以實現(xiàn)更多的業(yè)務邏輯,接下來通過本文給大家分享Kylin對接JDBC和Zepplin的操作代碼,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • SpringBoot配置連接兩個或多個數(shù)據(jù)庫的實現(xiàn)

    SpringBoot配置連接兩個或多個數(shù)據(jù)庫的實現(xiàn)

    本文主要介紹了SpringBoot配置連接兩個或多個數(shù)據(jù)庫的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • Netty分布式高性能工具類FastThreadLocal和Recycler分析

    Netty分布式高性能工具類FastThreadLocal和Recycler分析

    這篇文章主要為大家介紹了Netty分布式高性能工具類FastThreadLocal和Recycler分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • 關于文件上傳MultipartBody的使用方法

    關于文件上傳MultipartBody的使用方法

    這篇文章主要介紹了關于文件上傳MultipartBody的使用方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Spring實現(xiàn)資源的動態(tài)加載和卸載的方法小結

    Spring實現(xiàn)資源的動態(tài)加載和卸載的方法小結

    這篇文章主要介紹了Spring實現(xiàn)資源的動態(tài)加載和卸載的方法小結,文中通過代碼示例講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • Maven dependency中的scope案例講解

    Maven dependency中的scope案例講解

    Maven的一個哲學是慣例優(yōu)于配置(Convention Over Configuration), Maven默認的依賴配置項中,scope的默認值是compile,本文給大家介紹Maven dependency中的scope案例講解,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • springmvc+kindeditor文件上傳實例詳解

    springmvc+kindeditor文件上傳實例詳解

    這篇文章主要為大家詳細介紹了springmvc+kindeditor文件上傳實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • Springboot配置文件相關說明解析

    Springboot配置文件相關說明解析

    這篇文章主要介紹了Springboot配置文件相關說明解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論