public class SmsManager {

private static final SmsManager t = new SmsManager();
private static final java.util.Date date = new Date();
 DateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
//将手机号和随机数存入Map
Map<String,String> map = new HashMap<String,String>();
 String phone =null;
public static SmsManager getInstance(){
return t;
}
 private SmsManager() {
Timer timer = new Timer();  
    timer.schedule(new TimerTask() 
     {  
        public void run() {  
            System.out.println("-------任务执行--------");  
           deleteValue();
        }  
    }, 1,60000);// delay=2000毫秒 后执行该任务  
}
   //获得手机号和验证吗(用户输入的)
public boolean sms(String phone,String mobile_code){
 //select from map判断存储中是否有这个手机号和验证码
 String strvalue;
 if(map.containsKey(phone)&&map.containsKey(mobile_code))
{ strvalue= map.get(phone);
 String strCode = strvalue.split("@")[0];
 String strDate = strvalue.split("@")[1];
 System.out.println(strCode+strDate);
 //判断输入验证码和生成验证码是否一致
 phone.equals(t.porper(phone));
 return true;
 }
 return false;
}
 
void deleteValue()
{
for (String key : map.keySet()) {  
    System.out.println("Key = " + key);  
    String strtime= map.get(key).split("@")[1];
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date=null;
try {
date = df.parse(strtime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
    if((new Date().getTime() - date.getTime()) > 300000)
    {
     map.remove(key);
    }
}  
}
}