📄 pubfun.java
字号:
package com.neck.math;
import java.io.*;
import java.util.Date;
import java.util.*;
import java.security.MessageDigest;
import java.sql.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import java.text.*;
import java.text.ParseException;
import java.util.Calendar;
import com.neck.*;
public class PubFun{
String m_strErrMsg;
/*****************************************************************************************
** 功能: 将浮点数转换成字符串 **
** 输入: finFloat--要转换数字 iBitNum--小数位数 **
** 输出: false--失败 true--成功 **
** Auth: Ysr **
** Date: 2005.6.16 **
******************************************************************************************/
public static String FloatToString(float finFloat, int iBitNum)
{
float fOldFloat = finFloat;
// 先转换整数部分
int iTmp = (int)fOldFloat;
String strOut = Integer.toString(iTmp);
if( iBitNum > 0 )
strOut += ".";
// 对负数的整数为0的特殊处理
if( 0==iTmp )
{
int iBitInt = 1;
for(int i=0; i<iBitNum; i++)
iBitInt = iBitInt*10;
float fTmp = (float)1.0/iBitInt;
if( fOldFloat < 0-fTmp )
strOut = "-0.";
}
// 小数部分
float fTmp = fOldFloat - iTmp;
if( strOut.substring(0,1).equals("-") )
fTmp = 0 - fTmp;
int iBitInt = 1; // 进位数字
float fBitFloat = (float)0.5;
for( int i=0; i<iBitNum; i++ )
{
iBitInt = iBitInt*10;
fBitFloat = fBitFloat/10;
}
iTmp = (int)((fTmp+fBitFloat)*iBitInt);
iBitInt = iBitInt/10;
for( int i=0; i<iBitNum-1; i++ )
{
if( iTmp/iBitInt > 0 )
break;
else
{
strOut += "0";
iBitInt = iBitInt/10;
}
}
//if( iTmp > 0)
strOut += Integer.toString(iTmp);
return strOut;
}
/*****************************************************************************************
** 功能: 将双精度数转换成字符串 **
** 输入: dinDouble--要转换数字 iBitNum--小数位数 **
** 输出: false--失败 true--成功 **
** Auth: Ysr **
** Date: 2005.6.16 **
******************************************************************************************/
public static String DoubleToString(double dinDouble, int iBitNum)
{
double dOldDouble = dinDouble;
// 先转换整数部分
long lTmp = (long)dOldDouble;
String strOut = Long.toString(lTmp);
if( iBitNum > 0 )
strOut += ".";
// 对负数的整数为0的特殊处理
if( 0==lTmp )
{
int iBitInt = 1;
for(int i=0; i<iBitNum; i++)
iBitInt = iBitInt*10;
double dTmp = (double)1.0/iBitInt;
if( dOldDouble < 0-dTmp )
strOut = "-0.";
}
// 小数部分
double dTmp = dOldDouble - lTmp;
if( strOut.substring(0,1).equals("-") )
dTmp = 0 - dTmp;
int iBitInt = 1; // 进位数字
double dBitDouble = (double)0.5;
for( int i=0; i<iBitNum; i++ )
{
iBitInt = iBitInt*10;
dBitDouble = dBitDouble/10;
}
lTmp = (long)((dTmp+dBitDouble)*iBitInt);
iBitInt = iBitInt/10;
for( int i=0; i<iBitNum-1; i++ )
{
if( lTmp/iBitInt > 0 )
break;
else
{
strOut += "0";
iBitInt = iBitInt/10;
}
}
//if( lTmp>0 )
strOut += Long.toString(lTmp);
return strOut;
}
/*****************************************************************************************
** 功能: 取当前时间 **
** Auth: Ysr **
******************************************************************************************/
public static String getCurrTime()
{
Timestamp ts = new Timestamp(System.currentTimeMillis());
return ts.toString().substring(0, 19);
}
/*****************************************************************************************
** 功能: 取当前时间 **
** Auth: Ysr **
******************************************************************************************/
public static String getCurrTime2()
{
Calendar data = Calendar.getInstance();
SimpleDateFormat dFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return dFormat1.format(data.getTime()); //日期
}
/*****************************************************************************************
** 功能: 取当前时间 **
** Auth: Ysr **
******************************************************************************************/
public static String getCurrTimeMS()
{
Calendar data = Calendar.getInstance();
//时间格式(K+时间的格式,精确到毫秒)
SimpleDateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:S");
return dFormat.format(data.getTime());
}
/*****************************************************************************************
** 功能: 取出输入时间的上一天 **
** Auth: Ysr **
** Date: 2006.3.28 **
******************************************************************************************/
public static String getYestday(String strInTime)
{
try{
DateFormat df;
if( strInTime.length() > 14 )
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
else
df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
Date dtInTime = df.parse(strInTime);
Timestamp ts = new Timestamp(dtInTime.getTime()-3600000*24);
return ts.toString().substring(0,10);
}
catch(ParseException ex)
{
System.out.println("日期转换时出错!strInTime:"+strInTime+"msg="+ex.getMessage());
}
return "";
}
/*****************************************************************************************
** 功能: 取出输入时间的上月一号 **
** Auth: Ysr **
** Date: 2006.3.28 **
******************************************************************************************/
public static String getLastMonth1Day(String strInTime)
{
try{
DateFormat df;
if( strInTime.length() > 14 )
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
else
df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
Date dtNowMonth1Day = df.parse(strInTime.substring(0,8) + "01 00:00:00"); // 本月1号
Timestamp ts = new Timestamp(dtNowMonth1Day.getTime()-3600000); // 上月最后一天的23点
return ts.toString().substring(0,8)+"01";
}
catch(ParseException ex)
{
System.out.println("日期转换时出错!strInTime:"+strInTime+"msg="+ex.getMessage());
}
return "";
}
/*****************************************************************************************
** 功能: 取出输入时间的上月最后一天 **
** Auth: Ysr **
** Date: 2006.3.28 **
******************************************************************************************/
public static String getLastMonthLastDay(String strInTime)
{
try{
DateFormat df;
if( strInTime.length() > 14 )
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
else
df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
Date dtNowMonth1Day = df.parse(strInTime.substring(0,8) + "01 00:00:00"); // 本月1号
Timestamp ts = new Timestamp(dtNowMonth1Day.getTime()-3600000); // 上月最后一天的23点
return ts.toString().substring(0,10);
}
catch(ParseException ex)
{
System.out.println("日期转换时出错!strInTime:"+strInTime+"msg="+ex.getMessage());
}
return "";
}
/*****************************************************************************************
** 功能: 取出输入时间的上一小时 **
** Auth: Ysr **
** Date: 2006.4.12 **
******************************************************************************************/
public static String getLastHourTime(String strInTime)
{
try{
DateFormat df;
if( strInTime.length() > 14 )
df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
else
df = new SimpleDateFormat("yyyy-MM-dd", Locale.US);
Date dtInTime = df.parse(strInTime);
Timestamp ts = new Timestamp(dtInTime.getTime()-3600000);
return ts.toString().substring(0,19);
}
catch(ParseException ex)
{
System.out.println("日期转换时出错!strInTime:"+strInTime+"msg="+ex.getMessage());
}
return "";
}
/*****************************************************************************************
** 功能: 发送邮件 **
** 输入: strAttachFile--附件 strInTitle--标题 **
** 输出: false--失败 true--成功 **
** Auth: Ysr **
** Date: 2005.7.6 **
******************************************************************************************/
public static boolean SendMail(String strAttachFileList, String strInTitle)
{
Ini m_Ini = new Ini(null);
String strSmtpSvr = m_Ini.getString("REPORT","SmtpSvr");
String strSvrMail = m_Ini.getString("REPORT","SvrMail"); // 用于发送邮件的账号
String strSvrMailUser = m_Ini.getString("REPORT","SvrMailUser");// 用于发送邮件用户
String strSvrMailPwd = m_Ini.getString("REPORT","SvrMailPwd"); // 用于发送邮件的账号
String strMailTo = m_Ini.getString("REPORT","MailTo"); // 邮件目的地账号
String strMailCc = m_Ini.getString("REPORT","MailCc"); // 邮件抄送账号
String strMailBcc = m_Ini.getString("REPORT","MailBcc"); // 邮件密送账号
String strDebug = m_Ini.getString("REPORT","Debug"); // 是否是调试状态
String strTitle = strInTitle; // 邮件标题
try
{
Properties props=new Properties();//也可用Properties props = System.getProperties();
props.put("mail.smtp.host",strSmtpSvr);//存储发送邮件服务器的信息
props.put("mail.smtp.auth","true");//同时通过验证
Session session=Session.getInstance(props);//根据属性新建一个邮件会话
if( strDebug.trim().equalsIgnoreCase("true") )
session.setDebug(true);
else
session.setDebug(false);
MimeMessage message=new MimeMessage(session);//由邮件会话新建一个消息对象
//设置邮件
InternetAddress from=new InternetAddress(strSvrMail);
message.setFrom(from);//设置发件人
InternetAddress to=new InternetAddress(strMailTo);
message.setRecipient(Message.RecipientType.TO,to);//设置收件人,并设置其接收类型为TO
if( strMailCc != null && strMailCc.trim().equals("")==false )
{
InternetAddress cc=new InternetAddress(strMailCc);
message.setRecipient(Message.RecipientType.CC,cc);//设置抄送人,并设置其接收类型为CC
}
if( strMailBcc != null && strMailBcc.trim().equals("")==false )
{
InternetAddress bcc=new InternetAddress(strMailBcc);
message.setRecipient(Message.RecipientType.BCC,bcc);//设置密送人,并设置其接收类型为BCC
}
message.setSubject(strTitle);//设置主题
//message.setText("请审核报表!");//设置信件内容
message.setSentDate(new Date());//设置发信时间
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -