温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在java中使用 Date和Mail工具类

发布时间:2021-06-12 19:15:20 来源:亿速云 阅读:150 作者:Leah 栏目:编程语言

如何在java中使用 Date和Mail工具类,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

具体内容如下

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);  }  /**  * 描述:解析日期字串  *   * @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 对应日期类型数据  */  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);  } }

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 {  /**   * 简单的发邮件方式 邮件内容只有标题和邮件内容 支持单个个用户发送   *   * @param host    邮件服务器地址   * @param username   连接邮件服务器的用户名称   * @param password   连接邮件服务器的用户密码   * @param subject   邮件的主题   * @param contents   邮件的内容   * @param toEmailAddress 收件人的邮件地址   * @param fromEmailAddress 发件人的邮件地址   * @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();  }  /**   * 简单的发邮件方式 邮件内容只有标题和邮件内容 支持多个用户批量发送   *   * @param host    邮件服务器地址   * @param username   连接邮件服务器的用户名称   * @param password   连接邮件服务器的用户密码   * @param subject   邮件的主题   * @param contents   邮件的内容   * @param toEmailAddress 收件人的邮件地址   * @param fromEmailAddress 发件人的邮件地址   * @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);   //发送给多个人   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();  }  /**   * 发送带附件的邮件方式 邮件内容有标题和邮件内容和附件,附件可以是本地机器上的文本,也可以是web上的一个URL 文件,   * 当为web上的一个URL文件时,此方法可以将WEB中的URL文件先下载到本地,再发送给收入用户   *   * @param host    邮件服务器地址   * @param username   连接邮件服务器的用户名称   * @param password   连接邮件服务器的用户密码   * @param subject   邮件的主题   * @param contents   邮件的内容   * @param toEmailAddress 收件人的邮件地址   * @param fromEmailAddress 发件人的邮件地址   * @param multiPaths  附件文件数组   * @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);    }   }   //发送邮件信息   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不会出现乱码   for (int i = 0; i < attachmentList.size(); i++) //添加多个附件   {    email.attach((EmailAttachment) attachmentList.get(i));   }   email.send();  }  /**   * 发送带附件的邮件方式 邮件内容有标题和邮件内容和附件,附件可以是本地机器上的文本,也可以是web上的一个URL 文件,   * 当为web上的一个URL文件时,此方法可以将WEB中的URL文件先下载到本地,再发送给收入用户   *   * @param host    邮件服务器地址   * @param username   连接邮件服务器的用户名称   * @param password   连接邮件服务器的用户密码   * @param subject   邮件的主题   * @param contents   邮件的内容   * @param toEmailAddress 收件人的邮件地址数组   * @param fromEmailAddress 发件人的邮件地址   * @param multiPaths  附件文件数组   * @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);    }   }   //发送邮件信息   MultiPartEmail email = new MultiPartEmail();   email.setHostName(host);   email.setAuthentication(username, password);   //发送给多个人   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不会出现乱码   for (int i = 0; i < attachmentList.size(); i++) //添加多个附件   {    email.attach((EmailAttachment) attachmentList.get(i));   }   email.send();  }  /**   * 发送Html格式的邮件   *   * @param host    邮件服务器地址   * @param username   连接邮件服务器的用户名称   * @param password   连接邮件服务器的用户密码   * @param subject   邮件的主题   * @param contents   邮件的内容   * @param toEmailAddress 收件人的邮件地址   * @param fromEmailAddress 发件人邮件地址   * @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();  }  /**   * 发送Html格式的邮件   *   * @param host    邮件服务器地址   * @param username   连接邮件服务器的用户名称   * @param password   连接邮件服务器的用户密码   * @param subject   邮件的主题   * @param contents   邮件的内容   * @param toEmailAddress 收件人的邮件地址数组   * @param fromEmailAddress 发件人邮件地址   * @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);   //发送给多个人   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();  } }

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI