java编程中常用到的一些方法,日期,排序

常用方法总结,流水号,随机数,日期,日期比较....

 

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){
  
 }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值