常用方法总结,流水号,随机数,日期,日期比较....
package util;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.security.MessageDigest;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author 朱湘鄂
* @version 1.0
* @date 2010-11-29
*/
public class Util {
//时间类
//返回String类型的时间
public static String returnStringDate(){
Date date = new Date();//默认的输出方式为:Tue Nov 30 14:25:24 CST 2010
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换为:年月日,时分秒的形式
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
System.out.println(sdf.format(date));
return sdf.format(date);
}
//返回Date类型的时间
public static Date returnDate(){
Date date = new Date();//默认的输出方式为:Tue Nov 30 14:25:24 CST 2010
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换为:年月日,时分秒的形式
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
try {
date = sdf.parse(sdf.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(sdf.format(date));
return date;
}
//将String类型的yyyy-MM-dd转换为Date类型
public static Date convertStringToDate(String strDate){
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//格式化时间 yyyy-MM-dd
try {
date = sdf.parse(sdf.format(strDate));
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(date);
return date;
}
/**
* 比较当前日期和指定日期 return boolean
* 如果当前日期在指定日期之前返回true否则返回flase
*/
public static boolean dateCompare(String str){
boolean flag = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String isDate = sdf.format(new Date());
java.util.Date date1;
java.util.Date date0;
try {
date1 = sdf.parse(str);
date0= sdf.parse(isDate);//当前日期
if(date0.after(date1)){
flag = true;
}
} catch (ParseException e) {
flag = false;
}
return flag;
}
// 付费用到的时间类型
public static String dateInPayment() {
SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyyMMddHHmmss");
String strdate = dateFormatter.format(System.currentTimeMillis());
System.out.println(strdate);
return strdate;
}
//将带,(\、等特殊字符的字符串转换为集合),以,为例
//分两种情况,
//第一种:最后一个字符也是特殊字符。例如:My,Love,Zhu,Zhu,
//第二种情况:最后一个字符不是特殊字符。例如:My,Love,Zhu,Zhu
public static List convertStringToArray(String str){
//判断是哪一种情况,第一种情况为默认为false
boolean flag = false;
List list=new ArrayList();
String lastOne = str.substring(str.length()-1,str.length());
if(!lastOne.equals(",") && lastOne!=","){
flag = true;//不是第一种情况
}
if(flag){
String[] hasNone = str.split("\\,");
for(int i=0;i<hasNone.length;i++){
list.add(hasNone[i]);
}
}else{
String hasOne = str.substring(0, str.length()-1);
String[] has= hasOne.split("\\,");
for(int i=0;i<has.length;i++){
list.add(has[i]);
}
}
return list;
}
//数字类型
//产生一个随机数,不带种子(以便返回的都是不同的数字)
public static String autoRandom(){
int num = 0;
Random rm = new Random();
if(rm.nextInt()<0){
num = 0 - rm.nextInt();
}else{
num = rm.nextInt();
}
System.out.println(num);
return new Integer(num).toString();
}
/**
* 得到系统唯一20位流水号
* 方法名:getNewID
* 参数: 无
* 返回值:String
*/
private static int cnt = 0;
public synchronized static String getNewID()
{
StringBuffer sb = new StringBuffer(20);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
sb.append(sdf.format(new Date()));
if (cnt < 10)
{
sb.append("00").append(cnt);
}
else
if (cnt < 100)
{
sb.append("0").append(cnt);
}
else
if (cnt < 1000)
{
sb.append(cnt);
}
cnt++;
if (cnt > 999)
{
cnt = 0;
}
System.out.println(sb.toString());
return sb.toString();
}
//数组排序
//冒泡排序:思想:拿第一个与后一个比较,大于后者就后移一位
public static int[] mpSort(int[] ints){
int size = ints.length;
int num = 0;
//排序之前先输出
for(int i=0;i<size;i++){
System.out.print(ints[i]+",");
}
System.out.println("");
//排序中
for(int k=size-1;k>0;k--){
for(int j=0;j<k;j++){
if(ints[j]>ints[j+1]){//交换位置
num = ints[j];
ints[j] = ints[j+1];
ints[j+1] = num;
}
}
}
for(int i=0;i<size;i++){
System.out.print(ints[i]+",");
}
System.out.println("");
//排序之后输出
return ints;
}
//选择排序:思想:假定第一个为最小的
public static int[] selectSort(int[]array){
for(int out=0;out<array.length-1;out++){
int min=out;
for(int in=out+1;in<array.length;in++){
if(array[in]<array[min]){
min=in; //交换位置
}
}
int t =array[out]; //替换数值
array[out]=array[min];
array[min]=t;
}
return array;
}
public static void main(String[] args){
}
}