5544992 发表于 2018-1-8 11:27:32

Jenkins tfs plugin 中文日期解析错误修复

1 package hudson.plugins.tfs.util;  2
  3 import java.text.ParseException;
  4 import java.util.Date;
  5 import java.util.Locale;
  6 import java.util.TimeZone;
  7
  8 /////////////cycy////////////////////
  9 import java.text.SimpleDateFormat;
  10 import java.text.DateFormatSymbols;
  11 /////////////cycy////////////////////
  12
  13 /**

  14*>  15*/
  16

  17 public>  18
  19   private final TimeZone timezone;
  20   private final Locale locale;
  21
  22   public DateParser(Locale locale, TimeZone timezone) {
  23         this.locale = locale;
  24         this.timezone = timezone;
  25   }
  26
  27   public DateParser() {
  28         this.locale = Locale.getDefault();
  29         this.timezone = TimeZone.getDefault();
  30   }
  31
  32   /////////////cycy////////////////////
  33   private static final String[] WEEKDAYS = {"", "一", "二", "三", "四", "五", "六", "日"};
  34   private static final String[] MONTHS = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"};
  35   private static final String[] AMPM = {"上午", "下午"};
  36   private Date GetCnDate(String s) {
  37         Date date = new Date();
  38         try {
  39             DateFormatSymbols sym = new DateFormatSymbols(Locale.CHINA);
  40             sym.setAmPmStrings(AMPM);
  41             sym.setShortWeekdays(WEEKDAYS);
  42             sym.setWeekdays(WEEKDAYS);
  43             sym.setMonths(MONTHS);
  44             SimpleDateFormat f = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", sym);
  45             date = f.parse(s);
  46         }
  47         catch(ParseException e) {}
  48         return date;
  49         }
  50   /////////////cycy////////////////////
  51
  52   public Date parseDate(String dateString) throws ParseException {
  53         /////////////cycy////////////////////
  54         if (this.locale == Locale.CHINA)
  55             return GetCnDate(dateString);
  56         else
  57         /////////////cycy////////////////////
  58             return DateUtil.parseDate(dateString, locale, timezone);
  59   }
  60 }
页: [1]
查看完整版本: Jenkins tfs plugin 中文日期解析错误修复