package com.struts2.jquery.utils;
import java.io.File;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
*
* <p>Title: crm</p>
*
* <p>Description:通用工具类 </p>
*
* <p>Copyright: Copyright (c) 2008</p>
*
* <p>Company: Newland</p>
*
* @author yaoxj
* @version 1.0 2008-12-26
*/
public class CommonUtils{
public CommonUtils(){
}
//日期时间的输出样式字符串
private static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss";
private static final String DATE_PATTERN = "yyyy-MM-dd";
private static final String TIME_PATTERN = "HH:mm:ss";
//时间日期输出是样的初始化对象
private static final SimpleDateFormat DateTimeFormat = new SimpleDateFormat(DATE_TIME_PATTERN);
private static final SimpleDateFormat DateFormat = new SimpleDateFormat(DATE_PATTERN);
private static final SimpleDateFormat TimeFormat = new SimpleDateFormat(TIME_PATTERN);
/**
* 格式化为默认格式(yyyy-MM-dd HH:mm:ss)的日期+时间字符串
* @param date Date
* @param pattern String 指定的格式字符串
* @return String date或pattern为空,返回空串
*/
public static String formatDate(Date date, String pattern){
if(date==null || pattern==null)
return "";
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.format(date);
}
/**
* 格式化为默认格式(yyyy-MM-dd)的日期字符串
* @param date Date
* @return String
*/
public static String formatDate(Date date){
if(date == null)
return "";
return DateFormat.format(date);
}
/**
* 格式化为默认格式(yyyy-MM-dd HH:mm:ss)的日期+时间字符串
* @param date Date
* @return String
*/
public static String formatDateTime(Date date){
if(date==null)
return "";
return DateTimeFormat.format(date);
}
/**
* 格式化为默认格式(HH:mm:ss)的时间字符串
* @param date Date
* @return String
*/
public static String formatTime(Date date){
if(date==null)
return "";
return TimeFormat.format(date);
}
/**
* 将字符串转化为日期对象,应用格式 yyyy-MM-dd
* @param dateStr String
* @return Date
*/
public static Date parseDate(String dateStr){
try{
return DateFormat.parse(dateStr);
} catch(ParseException ex){
return null;
}
}
/**
* 将字符串转化为日期对象,应用指定的格式
* @param dateStr String 日期字符串
* @param pattern String 格式字符串
* @return Date
*/
public static Date parseDate(String dateStr, String pattern){
try{
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
return sdf.parse(dateStr);
} catch(Exception ex){
return null;
}
}
/**
* 将字符串转化为日期对象,应用格式 yyyy-MM-dd HH:mm:ss
* @param dateString String
* @return Date
*/
public static Date parseDateTime(String dateStr){
try{
return DateTimeFormat.parse(dateStr);
} catch(ParseException ex){
return null;
}
}
/**
* 将字符串转化为日期对象,应用格式 HH:mm:ss
* @param dateStr String
* @return Date
*/
public static Date parseTime(String dateStr){
try{
return TimeFormat.parse(dateStr);
} catch(ParseException ex){
return null;
}
}
public static boolean isEmpty(String str){
if(str == null || str.trim().length() == 0)
return true;
else
return false;
}
/**
* function:取的最近y年份字符串格式为(YYYY,YYYY)便于对SELECT的OPTION元素填充
* @param y
* @return
*/
public static List getRecentYear(int y){
Calendar cl=Calendar.getInstance();
int year=cl.get(Calendar.YEAR);
List ret=new ArrayList();
for(int i=0;i<y;i++){
int yy=year-i;
ret.add(String.valueOf(yy));
}
return ret;
}
/**
* 根据系统时间生成一个唯一值【大部分用于文件上传的时候用到】
* @return
*/
public synchronized static long getPrimaryKey() {
long key=System.currentTimeMillis();
return key++;
}
/**
* 根据路径创建一系列的目录
*
* @param path
*/
public static boolean mkDirectory(String path) {
File file = null;
try {
file = new File(path);
if (!file.exists()) {
return file.mkdirs();
}
} catch (RuntimeException e) {
e.printStackTrace();
} finally {
file = null;
}
return false;
}
/**
* 判断文件是否存在
*
* @param fileName
* @param dir
* @return
*/
public static boolean isFileExist(String fileName, String dir) {
File files = new File(dir + fileName);
return (files.exists()) ? true : false;
}
/**
* 将字符编码转换成UTF-8码
*/
public static String toUTF_8(String str) throws UnsupportedEncodingException{
return changeCharset(str, "UTF_8");
}
/**
* 将字符编码转换成GBK码
*/
public static String toGBK(String str) throws UnsupportedEncodingException{
return changeCharset(str, "GBK");
}
/**
* 字符串编码转换的实现方法
* @param str 待转换编码的字符串
* @param newCharset 目标编码
* @return
* @throws UnsupportedEncodingException
*/
public static String changeCharset(String str, String newCharset)
throws UnsupportedEncodingException {
if (str != null) {
//用默认字符编码解码字符串。
byte[] bs = str.getBytes();
//用新的字符编码生成字符串
return new String(bs, newCharset);
}
return null;
}
/**
* 字符串编码转换的实现方法
* @param str 待转换编码的字符串
* @param oldCharset 原编码
* @param newCharset 目标编码
* @return
* @throws UnsupportedEncodingException
*/
public static String changeCharset(String str, String oldCharset, String newCharset)
throws UnsupportedEncodingException {
if (str != null) {
//用旧的字符编码解码字符串。解码可能会出现异常。
byte[] bs = str.getBytes(oldCharset);
//用新的字符编码生成字符串
return new String(bs, newCharset);
}
return null;
}
}
转载请注明原文地址: https://ju.6miu.com/read-1309731.html