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

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

具体内容如下

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

packagecom.jarvis.base.util;

importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Calendar;
importjava.util.Date;

/**
*
*
*@Title:DateHelper.java
*@Packagecom.jarvis.base.util
*@Description:日期工具类
*@versionV1.0
*/
publicclassDateHelper{

/**
*日期格式yyyy-MM-dd
*/
publicstaticfinalStringpattern_date="yyyy-MM-dd";

/**
*日期时间格式yyyy-MM-ddHH:mm:ss
*/
publicstaticfinalStringpattern_time="yyyy-MM-ddHH:mm:ss";

/**
*描述:日期格式化
*
*@paramdate
*日期
*@return输出格式为yyyy-MM-dd的字串
*/
publicstaticStringformatDate(Datedate){
returnformatDate(date,pattern_time);
}

/**
*描述:日期格式化
*
*@paramdate
*日期
*@parampattern
*格式化类型
*@return
*/
publicstaticStringformatDate(Datedate,Stringpattern){
SimpleDateFormatdateFormat=newSimpleDateFormat(pattern);
returndateFormat.format(date);
}

/**
*描述:解析日期字串
*
*@paramdateStr
*日期字串
*@return按yyyy-MM-ddHH:mm:ss格式解析
*/
publicstaticDateparseString(StringdateStr){
returnparseString(dateStr,"yyyy-MM-ddHH:mm:ss");
}

/**
*描述:解析日期字串
*
*@paramdateStr
*日期字串
*@parampattern
*字串日期格式
*@return对应日期类型数据
*/
publicstaticDateparseString(StringdateStr,Stringpattern){
SimpleDateFormatdateFormat=newSimpleDateFormat(pattern);
try{
if(!StringHelper.isEmpty(dateStr)){
returndateFormat.parse(dateStr);
}
}catch(ParseExceptionex){
ex.printStackTrace();
System.err.println(dateStr+"转换成日期失败,可能是不符合格式:"+pattern);
}
returnnull;
}

/**
*描述:获取指定日期的中文星期数
*
*@paramdate
*指定日期
*@return星期数,如:星期一
*/
publicstaticStringgetWeekStr(Datedate){
Calendarcalendar=Calendar.getInstance();
calendar.setTime(date);
intweek=calendar.get(7);
--week;
StringweekStr="";
switch(week){
case0:
weekStr="星期日";
break;
case1:
weekStr="星期一";
break;
case2:
weekStr="星期二";
break;
case3:
weekStr="星期三";
break;
case4:
weekStr="星期四";
break;
case5:
weekStr="星期五";
break;
case6:
weekStr="星期六";
}
returnweekStr;
}

/**
*描述:间隔时间
*
*@paramdate1
*@paramdate2
*@return毫秒数
*/
publicstaticlonggetDateMiliDispersion(Datedate1,Datedate2){
if((date1==null)||(date2==null)){
return0L;
}

longtime1=date1.getTime();
longtime2=date2.getTime();

returntime1-time2;
}

/**
*描述:间隔天数
*
*@paramdate1
*@paramdate2
*@return天数
*/
publicstaticintgetDateDiff(Datedate1,Datedate2){
if((date1==null)||(date2==null)){
return0;
}
longtime1=date1.getTime();
longtime2=date2.getTime();

longdiff=time1-time2;

LonglongValue=newLong(diff/86400000L);
returnlongValue.intValue();
}

/**
*描述:获取指定日期之前多少天的日期
*
*@paramdate
*指定日期
*@paramday
*天数
*@return日期
*/
publicstaticDategetDataDiff(Datedate,intday){
if(date==null){
returnnull;
}
longtime=date.getTime();
time-=86400000L*day;
returnnewDate(time);
}

/**
*描述:获取当前周
*
*@return
*/
publicstaticintgetCurrentWeek(){
Calendarcalendar=Calendar.getInstance();
intweek=calendar.get(7);
--week;
if(week==0){
week=7;
}
returnweek;
}

/**
*描述:获取中文当前周
*
*@return
*/
publicstaticStringgetCurrentWeekStr(){
returngetWeekStr(newDate());
}

/**
*描述:获取本年
*
*@return
*/
publicstaticintgetCurrentYear(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(1);
}

/**
*描述:获取本月
*
*@return
*/
publicstaticintgetCurrentMonth(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(2)+1;
}

/**
*描述:获取本月的当前日期数
*
*@return
*/
publicstaticintgetCurrentDay(){
Calendarcalendar=Calendar.getInstance();
returncalendar.get(5);
}

/**
*描述:当前时间与指定时间的差
*
*@paramstr
*秒数
*@return时间差,单位:秒
*/
publicstaticintgetUnixTime(Stringstr){
if((str==null)||("".equals(str))){
return0;
}
try{
longutime=Long.parseLong(str)*1000L;
Datedate1=newDate(utime);

Datedate=newDate();

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

/**
*描述:去除日期字串中原“-”和“:”
*
*@paramdateTime日期字串
*@return
*/
publicstaticStringformatString(StringdateTime){
if((dateTime!=null)&&(dateTime.length()>=8)){
StringformatDateTime=dateTime.replaceAll("-","");
formatDateTime=formatDateTime.replaceAll(":","");
Stringdate=formatDateTime.substring(0,8);
returndate;
}

return"";
}

/**
*描述:当前时间与指定时间的差
*
*@paramstr
*yyyy-MM-ddHH:mm:ss格式的日期
*@return时间差,单位:秒
*/
publicstaticintgetTimesper(Stringstr){
if((str==null)||("".equals(str))){
return0;
}
try{
Datedate1=newDate(Long.parseLong(str));
Datedate=newDate();
longnowtime=(date.getTime()-date1.getTime())/1000L;
return(int)nowtime;
}catch(Exceptione){
e.printStackTrace();
System.err.println("日期转换出错");
}
return0;
}

/**
*描述:获取16位日期时间,yyyyMMddHHmmss
*
*@paramdateTime
*字串日期
*@return
*/
publicstaticStringformatDateTime(StringdateTime){
if((dateTime!=null)&&(dateTime.length()>=8)){
StringformatDateTime=dateTime.replaceAll("-","");
formatDateTime=formatDateTime.replaceAll(":","");
Stringdate=formatDateTime.substring(0,8);
Stringtime=formatDateTime.substring(8).trim();
for(inti=time.length();i<6;++i){
time=time+"0";
}
returndate+time;
}

return"";
}

/**
*描述:获取16位日期时间,yyyyMMddHHmmss
*
*@paramdate
*日期
*@return
*/
publicstaticStringformatDateTime(Datedate){
StringdateTime=formatDate(date);
returnformatDateTime(dateTime);
}
}

Mail邮件工具类

packagecom.jarvis.base.util;

importjava.net.MalformedURLException;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.List;

importorg.apache.commons.mail.EmailAttachment;
importorg.apache.commons.mail.EmailException;
importorg.apache.commons.mail.HtmlEmail;
importorg.apache.commons.mail.MultiPartEmail;
importorg.apache.commons.mail.SimpleEmail;

/**
*@Title:MailHelper.java
*@Packagecom.jarvis.base.util
*@Description:mail工具类
*@versionV1.0
*/
publicclassMailHelper
{
/**
*简单的发邮件方式邮件内容只有标题和邮件内容支持单个个用户发送
*
*@paramhost邮件服务器地址
*@paramusername连接邮件服务器的用户名称
*@parampassword连接邮件服务器的用户密码
*@paramsubject邮件的主题
*@paramcontents邮件的内容
*@paramtoEmailAddress收件人的邮件地址
*@paramfromEmailAddress发件人的邮件地址
*@throwsEmailException
*/
publicstaticvoidsendSimpleEmail(Stringhost,Stringusername,Stringpassword,Stringsubject,Stringcontents,
StringtoEmailAddress,StringfromEmailAddress)throwsEmailException
{
SimpleEmailemail=newSimpleEmail();
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();
}

/**
*简单的发邮件方式邮件内容只有标题和邮件内容支持多个用户批量发送
*
*@paramhost邮件服务器地址
*@paramusername连接邮件服务器的用户名称
*@parampassword连接邮件服务器的用户密码
*@paramsubject邮件的主题
*@paramcontents邮件的内容
*@paramtoEmailAddress收件人的邮件地址
*@paramfromEmailAddress发件人的邮件地址
*@throwsEmailException
*/
publicstaticvoidsendSimpleEmail(Stringhost,Stringusername,Stringpassword,Stringsubject,Stringcontents,String[]toEmailAddress,StringfromEmailAddress)throwsEmailException
{
SimpleEmailemail=newSimpleEmail();
email.setHostName(host);
email.setAuthentication(username,password);
//发送给多个人
for(inti=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文件先下载到本地,再发送给收入用户
*
*@paramhost邮件服务器地址
*@paramusername连接邮件服务器的用户名称
*@parampassword连接邮件服务器的用户密码
*@paramsubject邮件的主题
*@paramcontents邮件的内容
*@paramtoEmailAddress收件人的邮件地址
*@paramfromEmailAddress发件人的邮件地址
*@parammultiPaths附件文件数组
*@throwsEmailException
*/

publicstaticvoidsendMultiPartEmail(Stringhost,Stringusername,Stringpassword,Stringsubject,
Stringcontents,StringtoEmailAddress,StringfromEmailAddress,
String[]multiPaths)throwsMalformedURLException,EmailException
{
List<EmailAttachment>attachmentList=newArrayList<EmailAttachment>();
if(multiPaths!=null)
{
for(inti=0;i<multiPaths.length;i++)
{
EmailAttachmentattachment=newEmailAttachment();
if(multiPaths[i].indexOf("http")==-1)//判断当前这个文件路径是否在本地如果是:setPath否则setURL;
{
attachment.setPath(multiPaths[i]);
}
else
{
attachment.setURL(newURL(multiPaths[i]));
}
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("");
attachmentList.add(attachment);
}
}

//发送邮件信息
MultiPartEmailemail=newMultiPartEmail();
email.setHostName(host);
email.setAuthentication(username,password);
email.addTo(toEmailAddress);
email.setFrom(fromEmailAddress,fromEmailAddress);
email.setSubject(subject);
email.setMsg(contents);//注意这个不要使用setContent这个方法setMsg不会出现乱码
for(inti=0;i<attachmentList.size();i++)//添加多个附件
{
email.attach((EmailAttachment)attachmentList.get(i));
}
email.send();
}

/**
*发送带附件的邮件方式邮件内容有标题和邮件内容和附件,附件可以是本地机器上的文本,也可以是web上的一个URL文件,
*当为web上的一个URL文件时,此方法可以将WEB中的URL文件先下载到本地,再发送给收入用户
*
*@paramhost邮件服务器地址
*@paramusername连接邮件服务器的用户名称
*@parampassword连接邮件服务器的用户密码
*@paramsubject邮件的主题
*@paramcontents邮件的内容
*@paramtoEmailAddress收件人的邮件地址数组
*@paramfromEmailAddress发件人的邮件地址
*@parammultiPaths附件文件数组
*@throwsEmailException
*/

publicstaticvoidsendMultiPartEmail(Stringhost,Stringusername,Stringpassword,Stringsubject,
Stringcontents,String[]toEmailAddress,StringfromEmailAddress,
String[]multiPaths)throwsMalformedURLException,EmailException
{
List<EmailAttachment>attachmentList=newArrayList<EmailAttachment>();
if(multiPaths!=null)
{
for(inti=0;i<multiPaths.length;i++)
{
EmailAttachmentattachment=newEmailAttachment();
if(multiPaths[i].indexOf("http")==-1)//判断当前这个文件路径是否在本地如果是:setPath否则setURL;
{
attachment.setPath(multiPaths[i]);
}
else
{
attachment.setURL(newURL(multiPaths[i]));
}
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("");
attachmentList.add(attachment);
}
}

//发送邮件信息
MultiPartEmailemail=newMultiPartEmail();
email.setHostName(host);
email.setAuthentication(username,password);
//发送给多个人
for(inti=0;i<toEmailAddress.length;i++)
{
email.addTo(toEmailAddress[i],toEmailAddress[i]);
}
email.setFrom(fromEmailAddress,fromEmailAddress);
email.setSubject(subject);
email.setMsg(contents);//注意这个不要使用setContent这个方法setMsg不会出现乱码
for(inti=0;i<attachmentList.size();i++)//添加多个附件
{
email.attach((EmailAttachment)attachmentList.get(i));
}
email.send();
}


/**
*发送Html格式的邮件
*
*@paramhost邮件服务器地址
*@paramusername连接邮件服务器的用户名称
*@parampassword连接邮件服务器的用户密码
*@paramsubject邮件的主题
*@paramcontents邮件的内容
*@paramtoEmailAddress收件人的邮件地址
*@paramfromEmailAddress发件人邮件地址
*@throwsEmailException
*/
publicstaticvoidsendHtmlEmail(Stringhost,Stringusername,Stringpassword,Stringsubject,Stringcontents,StringtoEmailAddress,StringfromEmailAddress)throwsEmailException
{
HtmlEmailemail=newHtmlEmail();
//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格式的邮件
*
*@paramhost邮件服务器地址
*@paramusername连接邮件服务器的用户名称
*@parampassword连接邮件服务器的用户密码
*@paramsubject邮件的主题
*@paramcontents邮件的内容
*@paramtoEmailAddress收件人的邮件地址数组
*@paramfromEmailAddress发件人邮件地址
*@throwsEmailException
*/
publicstaticvoidsendHtmlEmail(Stringhost,Stringusername,Stringpassword,Stringsubject,Stringcontents,String[]toEmailAddress,StringfromEmailAddress)throwsEmailException
{
HtmlEmailemail=newHtmlEmail();
email.setHostName(host);
email.setAuthentication(username,password);
//发送给多个人
for(inti=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();
}
}

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

发布于 2021-06-13 23:20:48
收藏
分享
海报
0 条评论
182
上一篇:Mybatis中resultMap如何使用 下一篇:JavaScript怎么检测文件的类型
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码