package cn.newgxu.bbs.domain.sys; import java.util.ArrayList; import java.util.Date; import java.util.List; import cn.newgxu.bbs.common.util.TimerUtils; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; /** * * @author tao * @since 4.0.0 * @version $Revision 1.1$ */ public class TimeIterm { private String normalStart; private String normalend;//正常关闭时间 private String week; private String weekStart; private String weekend; private String date; private String dateStart; private String dateend; public String getNormalStart() { return normalStart; } public void setNormalStart(String normalStart) { this.normalStart = normalStart; } public String getNormalend() { return normalend; } public void setNormalend(String normalend) { this.normalend = normalend; } public String getWeek() { return week; } public void setWeek(String week) { this.week = week; } public String getWeekStart() { return weekStart; } public void setWeekStart(String weekStart) { this.weekStart = weekStart; } public String getWeekend() { return weekend; } public void setWeekend(String weekend) { this.weekend = weekend; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getDateStart() { return dateStart; } public void setDateStart(String dateStart) { this.dateStart = dateStart; } public String getDateend() { return dateend; } public void setDateend(String dateend) { this.dateend = dateend; } public boolean isClose(long start , long end){ long now = new Date().getTime(); if(end<start){ if(now>=end&&now<=start){ return true; }else{ return false ; } } if(now>=start&&now<=end) { return false; } return true; } public long dateToLong(String str){ return TimerUtils.getTime(TimerUtils.getNowYMD("yyyy-MM-dd") + " " + str,"yyyy-MM-dd HH:mm"); } @SuppressWarnings("deprecation") public boolean isClose(){ if(date!=null&&date!=""&&dateStart!=null && dateend!=null&&dateStart!="" && dateend!=""){ if(TimerUtils.getDate(date, "yyyy-MM-dd").getDay()==new Date().getDay()){ return isClose(dateToLong(dateStart),dateToLong(dateend)); } } if(week!=null&&week!=""&&weekStart!=null && weekend!=null&&weekStart!="" && weekend!=""){ if(Integer.parseInt(week)==TimerUtils.getDayOfWeek()){ return isClose(dateToLong(weekStart),dateToLong(weekend)); } } if(normalStart!=null && normalend!=null&&normalStart!="" && normalend!=""){ return isClose(dateToLong(normalStart),dateToLong(normalend)); } return false; } /** * * @param time * @param format * 说明:day ,week , date 的format值分别是1,2,3 * @return */ public static List<TimeIterm > getTimeItermByString(String time, int format){ List<TimeIterm > iterm = new ArrayList<TimeIterm >(); if(time==null||time.equals("")) return iterm; switch (format) { case 1: String [] t1 = time.split(", "); for(int i = 0;i<t1.length;i++){ TimeIterm iterm2 = new TimeIterm(); iterm2.setNormalStart(t1[i]); iterm2.setNormalend(t1[++i]); iterm.add(iterm2); } break; case 2: String [] t2 = time.split(", "); for(int i = 0;i<t2.length;i++){ TimeIterm iterm2 = new TimeIterm(); iterm2.setWeek(t2[i]); iterm2.setWeekStart(t2[++i]); iterm2.setWeekend(t2[++i]); iterm.add(iterm2); } break; case 3: String [] t3 = time.split(", "); for(int i = 0;i<t3.length;i++){ TimeIterm iterm2 = new TimeIterm(); iterm2.setDate(t3[i]); iterm2.setDateStart(t3[++i]); iterm2.setDateend(t3[++i]); iterm.add(iterm2); } break; default: break; } return iterm; } public static List<TimeIterm> getTimeItermByJson(String json){ List<TimeIterm > iterm = new ArrayList<TimeIterm >(); if(json==null) return iterm; Gson gson = new Gson(); try{ iterm = gson.fromJson(json, new TypeToken<List<TimeIterm>>(){}.getType()); }catch (Exception e) { e.printStackTrace(); } return iterm; } }