-
-
-
-
-
-
-
-
public String getSysDate(String format) {
-
String dateStr = "";
-
try {
-
Format formatter;
-
Date date = new Date();
-
formatter = new SimpleDateFormat(format);
-
dateStr = formatter.format(date);
-
} catch (Exception e) {
-
System.out.println(e);
-
}
-
return dateStr;
-
}
-
-
-
-
-
-
-
-
public String getFormatDate(Date date, String format) {
-
String dateStr = "";
-
try {
-
Format formatter;
-
formatter = new SimpleDateFormat(format);
-
dateStr = formatter.format(date);
-
} catch (Exception e) {
-
System.out.println(e);
-
}
-
return dateStr;
-
}
-
-
-
-
-
-
-
-
public String[] getSplit(String Str, String Split) {
-
return Str.split(Split);
-
}
-
-
-
-
-
-
-
-
public Date Convert(String str, String format) {
-
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat(format);
-
try {
-
java.util.Date d = sdf.parse(str);
-
return d;
-
} catch (Exception ex) {
-
ex.printStackTrace();
-
return null;
-
}
-
}
-
-
-
-
-
-
-
-
public static int getdays(String year, String month) {
-
int yearInt = Integer.parseInt(year);
-
int monthInt = Integer.parseInt(month);
-
int monthdays = 31;
-
switch (monthInt) {
-
case 1:
-
case 3:
-
case 5:
-
case 7:
-
case 8:
-
case 10:
-
case 12: {
-
monthdays = 31;
-
break;
-
}
-
case 2: {
-
if (isLeapyear(yearInt)) {
-
monthdays = 29;
-
} else {
-
monthdays = 28;
-
}
-
break;
-
}
-
case 4:
-
case 6:
-
case 9:
-
case 11: {
-
monthdays = 30;
-
break;
-
}
-
}
-
return monthdays;
-
}
-
-
-
-
-
-
-
-
public static boolean isLeapyear(int year) {
-
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
-
return true;
-
} else {
-
return false;
-
}
-
}
-
-
-
-
-
-
-
-
public static int getWeekByDate(String strDate) {
-
int dayOfWeek = 0;
-
try {
-
-
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
-
Calendar calendar = Calendar.getInstance();
-
Date date = new Date();
-
date = sdf.parse(strDate);
-
calendar.setTime(date);
-
dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
-
} catch (Exception e) {
-
e.printStackTrace();
-
}
-
return dayOfWeek - 1;
-
}
-
-
-
-
-
-
-
public static boolean isNumeric(String str) {
-
Pattern pattern = Pattern.compile("[0-9]*");
-
Matcher isNum = pattern.matcher(str);
-
if (!isNum.matches()) {
-
return false;
-
}
-
return true;
-
}
-
-
-
-
-
-
-
-
-
-
public String getDateString(Date date, int countday, boolean flag) {
-
String datestr = "";
-
if (flag) {
-
datestr = getFormatDate(new Date((new Date()).getTime() - countday
-
* 24 * 60 * 60 * 1000l), "yyyy-MM-dd");
-
} else {
-
datestr = getFormatDate(new Date((new Date()).getTime() + countday
-
* 24 * 60 * 60 * 1000l), "yyyy-MM-dd");
-
}
-
return datestr;
-
}
-
-
-
-
-
-
public Long getDateDifference(Date date1,Date date2) throws ParseException {
-
-
-
-
long day = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000) > 0 ? (date1
-
.getTime() - date2.getTime())
-
/ (24 * 60 * 60 * 1000)
-
: (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000);
-
return day;
-
-
}
-
-
-
-
-
-
public Long getDateDifference1(Date date1,Date date2) throws ParseException {
-
-
long day = (date1.getTime() - date2.getTime())/ (24 * 60 * 60 * 1000);
-
return day;
-
}
-
-
-
-
-
-
public static String Ds(int days) {
-
SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd");
-
Calendar calendar = Calendar.getInstance();
-
int day = calendar.get(Calendar.DAY_OF_YEAR);
-
calendar.set(Calendar.DAY_OF_YEAR, day - days);
-
Date cc = calendar.getTime();
-
return form.format(cc);
-
}
-
-
-
-
public static Date getSystemDate(){
-
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
-
Date date = new Date();
-
try {
-
return new SimpleDateFormat("yyyy-mm-dd").parse(sf.format(date));
-
} catch (ParseException e) {
-
}
-
return null;
-
}
-
-
-
-
-
-
-
public static boolean isInteger(String str) {
-
Pattern pattern = Pattern.compile("^[-//+]?[//d]*$");
-
return pattern.matcher(str).matches();
-
}
-
-
-
-
-
-
-
public static boolean isDouble(String str) {
-
Pattern pattern = Pattern.compile("^[-//+]?[.//d]*$");
-
return pattern.matcher(str).matches();
-
}
-
-
-
-
-
-
-
public static boolean isEmail(String str) {
-
Pattern pattern = Pattern.compile("^//w+([-+.]//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*$");
-
return pattern.matcher(str).matches();
-
}
-
-
-
-
-
-
-
public static boolean isChinese(String str) {
-
Pattern pattern = Pattern.compile("[/u0391-/uFFE5]+$");
-
return pattern.matcher(str).matches();
-
}
-
-
-
-
-
-
-
-
public static boolean isBlank(String str) {
-
return str == null || str.trim().length() == 0;
-
}
-
-
-
-
-
-
-
public static boolean isPrime(int x) {
-
if (x <= 7) {
-
if (x == 2 || x == 3 || x == 5 || x == 7)
-
return true;
-
}
-
int c = 7;
-
if (x % 2 == 0)
-
return false;
-
if (x % 3 == 0)
-
return false;
-
if (x % 5 == 0)
-
return false;
-
int end = (int) Math.sqrt(x);
-
while (c <= end) {
-
if (x % c == 0) {
-
return false;
-
}
-
c += 4;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 2;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 4;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 2;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 4;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 6;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 2;
-
if (x % c == 0) {
-
return false;
-
}
-
c += 6;
-
}
-
return true;
-
}
-
-
-
-
-
-
-
public static String hangeToBig(double value)
-
{
-
char[] hunit = { '拾', '佰', '仟' };
-
char[] vunit = { '万', '亿' };
-
char[] digit = { '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' };
-
long midVal = (long) (value * 100);
-
String valStr = String.valueOf(midVal);
-
-
String head = valStr.substring(0, valStr.length() - 2);
-
String rail = valStr.substring(valStr.length() - 2);
-
-
String prefix = "";
-
String suffix = "";
-
-
if (rail.equals("00"))
-
{
-
suffix = "整";
-
}
-
else
-
{
-
suffix = digit[rail.charAt(0) - '0'] + "角" + digit[rail.charAt(1) - '0'] + "分";
-
}
-
-
char[] chDig = head.toCharArray();
-
char zero = '0';
-
byte zeroSerNum = 0;
-
for (int i = 0; i < chDig.length; i++)
-
{
-
int idx = (chDig.length - i - 1) % 4;
-
int vidx = (chDig.length - i - 1) / 4;
-
if (chDig[i] == '0')
-
{
-
zeroSerNum++;
-
if (zero == '0')
-
{
-
zero = digit[0];
-
}
-
else if (idx == 0 && vidx > 0 && zeroSerNum < 4)
-
{
-
prefix += vunit[vidx - 1];
-
zero = '0';
-
}
-
continue;
-
}
-
zeroSerNum = 0;
-
if (zero != '0')
-
{
-
prefix += zero;
-
zero = '0';
-
}
-
prefix += digit[chDig[i] - '0'];
-
if (idx > 0)
-
prefix += hunit[idx - 1];
-
if (idx == 0 && vidx > 0)
-
{
-
prefix += vunit[vidx - 1];
-
}
-
}
-
-
if (prefix.length() > 0)
-
prefix += '圆';
-
return prefix + suffix;
-
}
-
-
-
-
-
-
-
public static final String QJToBJChange(String QJStr)
-
{
-
char[] chr = QJStr.toCharArray();
-
String str = "";
-
for (int i = 0; i < chr.length; i++)
-
{
-
chr[i] = (char) ((int) chr[i] - 65248);
-
str += chr[i];
-
}
-
return str;
-
}
-
-
-
-
-
-
-
private static String removeSameString(String str)
-
{
-
Set<String> mLinkedSet = new LinkedHashSet<String>();
-
String[] strArray = str.split(" ");
-
StringBuffer sb = new StringBuffer();
-
-
for (int i = 0; i < strArray.length; i++)
-
{
-
if (!mLinkedSet.contains(strArray[i]))
-
{
-
mLinkedSet.add(strArray[i]);
-
sb.append(strArray[i] + " ");
-
}
-
}
-
System.out.println(mLinkedSet);
-
return sb.toString().substring(0, sb.toString().length() - 1);
-
}
-
-
-
-
-
-
-
-
-
-
-
-
@SuppressWarnings("unchecked")
-
public static Object copy(Object obj) throws IllegalArgumentException, SecurityException, InstantiationException, IllegalAccessException,
-
InvocationTargetException, NoSuchMethodException
-
{
-
-
Class classType = obj.getClass();
-
-
-
Object objectCopy = classType.getConstructor(new Class[]{}).newInstance(new Object[]{});
-
-
-
Field[] fields = classType.getDeclaredFields();
-
-
for(int i = 0; i < fields.length; i++)
-
{
-
-
Field field = fields[i];
-
-
String fieldName = field.getName();
-
String stringLetter = fieldName.substring(0, 1).toUpperCase();
-
-
-
String getName = "get" + stringLetter + fieldName.substring(1);
-
String setName = "set" + stringLetter + fieldName.substring(1);
-
-
-
Method getMethod = classType.getMethod(getName, new Class[]{});
-
Method setMethod = classType.getMethod(setName, new Class[]{field.getType()});
-
-
-
Object value = getMethod.invoke(obj, new Object[]{});
-
-
-
setMethod.invoke(objectCopy, new Object[]{value});
-
}
-
-
return objectCopy;
-
}
-
-
-
public static String encoding(String src){
-
if (src==null)
-
return "";
-
StringBuilder result=new StringBuilder();
-
if (src!=null){
-
src=src.trim();
-
for (int pos=0;pos<src.length();pos++){
-
switch(src.charAt(pos)){
-
case '/"':result.append(""");break;
-
case '<':result.append("<");break;
-
case '>':result.append(">");break;
-
case '/'':result.append("'");break;
-
case '&':result.append("&");break;
-
case '%':result.append("&pc;");break;
-
case '_':result.append("&ul;");break;
-
case '#':result.append("&shap;");break;
-
case '?':result.append("&ques;");break;
-
default:result.append(src.charAt(pos));break;
-
}
-
}
-
}
-
return result.toString();
-
}
-
-
public static String decoding(String src){
-
if (src==null)
-
return "";
-
String result=src;
-
result=result.replace(""", "/"").replace("'", "/'");
-
result=result.replace("<", "<").replace(">", ">");
-
result=result.replace("&", "&");
-
result=result.replace("&pc;", "%").replace("&ul", "_");
-
result=result.replace("&shap;", "#").replace("&ques", "?");
-
return result;
-
}
-
-
public static String toUtf8String(String s) {
-
StringBuffer sb = new StringBuffer();
-
for (int i = 0; i < s.length(); i++) {
-
char c = s.charAt(i);
-
if (c >= 0 && c <= 255) {
-
sb.append(c);
-
} else {
-
byte[] b;
-
try {
-
b = Character.toString(c).getBytes("utf-8");
-
} catch (Exception ex) {
-
System.out.println(ex);
-
b = new byte[0];
-
}
-
for (int j = 0; j < b.length; j++) {
-
int k = b[j];
-
if (k < 0)
-
k += 256;
-
sb.append("%" + Integer.toHexString(k).toUpperCase());
-
}
-
}
-
}
-
return sb.toString();
-
}
-
-
-
-
-
-
-
public static String decode(ByteBuffer byteBuffer) {
-
Charset charset = Charset.forName("ISO-8859-1");
-
CharsetDecoder decoder = charset.newDecoder();
-
try {
-
CharBuffer charBuffer = decoder.decode(byteBuffer);
-
return new String(charBuffer.toString().getBytes("ISO8859_1"),
-
"GBK").trim();
-
} catch (Exception e) {
-
return null;
-
}
-
}
-
-
public String myPercent(int y, int z) {
-
String baifenbi = "";
-
double baiy = y * 1.0;
-
double baiz = z * 1.0;
-
double fen = baiy / baiz;
-
-
-
DecimalFormat df1 = new DecimalFormat("##.00%");
-
-
-
baifenbi = df1.format(fen);
-
return baifenbi;
-
}
-
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
-
-
匹配中文字符的正则表达式: [/u4e00-/u9fa5]
-
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
-
-
匹配双字节字符(包括汉字在内):[^/x00-/xff]
-
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
-
-
匹配空白行的正则表达式:/n/s*/r
-
评注:可以用来删除空白行
-
-
匹配HTML标记的正则表达式: <(/S*?)[^>]*>.*? <//1> <.*? />
-
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
-
-
匹配首尾空白字符的正则表达式:^/s* /s*$
-
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
-
-
匹配Email地址的正则表达式:/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*
-
评注:表单验证时很实用
-
-
匹配网址URL的正则表达式:[a-zA-z]+:
-
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
-
-
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
-
评注:表单验证时很实用
-
-
匹配国内电话号码:/d{3}-/d{8} /d{4}-/d{7}
-
评注:匹配形式如 0511-4405222 或 021-87888822
-
-
匹配腾讯QQ号:[1-9][0-9]{4,}
-
评注:腾讯QQ号从10000开始
-
-
匹配中国邮政编码:[1-9]/d{5}(?!/d)
-
评注:中国邮政编码为6位数字
-
-
匹配***:/d{15} /d{18}
-
评注:中国的***为15位或18位
-
-
匹配ip地址:/d+/./d+/./d+/./d+
-
评注:提取ip地址时有用
-
-
匹配特定数字:
-
^[1-9]/d*$
-
^-[1-9]/d*$
-
^-?[1-9]/d*$
-
^[1-9]/d* 0$
-
^-[1-9]/d* 0$
-
^[1-9]/d*/./d* 0/./d*[1-9]/d*$
-
^-([1-9]/d*/./d* 0/./d*[1-9]/d*)$
-
^-?([1-9]/d*/./d* 0/./d*[1-9]/d* 0?/.0+ 0)$
-
^[1-9]/d*/./d* 0/./d*[1-9]/d* 0?/.0+ 0$
-
^(-([1-9]/d*/./d* 0/./d*[1-9]/d*)) 0?/.0+ 0$
-
评注:处理大量数据时有用,具体应用时注意修正
-
-
匹配特定字符串:
-
^[A-Za-z]+$
-
^[A-Z]+$
-
^[a-z]+$
-
^[A-Za-z0-9]+$
-
^/w+$
-
评注:最基本也是最常用的一些表达式
-
-
String.split()方法中,有时需要特殊字符,见下:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
本文转自 风雨萧条 博客,原文链接: http://blog.51cto.com/1095221645/1562755
-
如需转载请自行联系原作者