首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

报到模块反思

2012-10-12 
签到模块反思刚刚开发完【每日签到】模块,虽然是调用别人的接口,还是有收获。1、判断是否为昨天时,而不是是否

签到模块反思
刚刚开发完【每日签到】模块,虽然是调用别人的接口,还是有收获。

1、判断是否为昨天时,而不是是否过了24小时。
要SimplyDateFormat为“yyyy-MM-dd”去掉时分秒;否则会判断是否为过了24小时,即若2011-08-26号早8点打卡,要等到过了24小时后的2011-08-27的8点后才能再一次打卡,而不是2011-08-27的00点就可以打卡。

public static boolean signIned(Date date){try {if (date == null) {return false;}Date today = new Date();//去掉时分秒SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");String d1 = sdf.format(today);String d2 = sdf.format(date);Date date1 = sdf.parse(d1);Date date2 = sdf.parse(d2);long durationMillis = date1.getTime() - date2.getTime();Long day = 1000 * 60 * 60 * 24L;Long millis = durationMillis / day; if (millis > 0) {return false;}return true;} catch (ParseException e) {e.printStackTrace();}return false;}


2、做字符串切割时,如遇到<a>这种,先将传来的字符串做如&gt;替换>的替换工作,再做分割工作。
从www传来的文本如<a href="http://www.baidu.com">百度</a>,现只用到<a>标签里的内容即汉字。
/** * 提取<a>标签中的内容 * */public static String clearUrl(String content) {if (content != null) {content = content.replaceAll(">", "&gt;");content = content.replaceAll("<", "&lt;");if(content.indexOf("&lt;a") != -1){String bb = content.split("&lt;a")[1];//如下判断错了,不应该是bb.lastIndexOf,应该是indexOf。否则当遇到<a><a></a></a>的情况截取出的字符串不对了。if(bb != null && bb.indexOf("&gt;") != -1 && bb.lastIndexOf("&lt;/a&gt;") != -1){return bb.substring(bb.indexOf("&gt;")+4, bb.lastIndexOf("&lt;/a&gt;"));}}}return content;}


3、关于分省市区id取值的放入缓存时,一定要按各个省市区id拼接缓存的key值。否则每个省市都用一个key取值,都是一样的数据。

热点排行