美文网首页
时间处理

时间处理

作者: Ray昱成 | 来源:发表于2018-11-21 16:20 被阅读0次

    多线程使用DateFormat

    [Joda-Time] 是一个很棒的开源的 JDK 的日期和日历 API 的替代品,其 DateTimeFormat 是线程安全而且不变的

    import org.joda.time.format.DateTimeFormat;
    import org.joda.time.format.DateTimeFormatter;
    import java.util.Date;
     
    public class DateFormatTest {
     
      private final DateTimeFormatter fmt =
           DateTimeFormat.forPattern("yyyyMMdd");
     
      public Date convert(String source){
        DateTime d = fmt.parseDateTime(source);
        returnd.toDate();
      }
    }
    

    指定时间转为目标时区时间

         * 将系统时间转为目标时区时间
         *
         * @param dstTimeZoneCode 目标时区
         * @param srcDate 原时间
         * @return 目标时区时间
         */
        public static Date convertDate2TimeZone(String dstTimeZoneCode, Date srcDate) {
    
            //Get System Offset
            Calendar calendar = Calendar.getInstance();
            int srcOffSet = calendar.get(Calendar.ZONE_OFFSET) + calendar.get(Calendar.DST_OFFSET);
    
            //Get dstTimeZone Offset
            TimeZone dstTimeZone = TimeZone.getTimeZone(dstTimeZoneCode);
            int dstOffSet = dstTimeZone.getOffset(srcDate.getTime());
    
            //Minus SRC offset and add dst Offset
            long dateMills = srcDate.getTime() - srcOffSet
                    + dstOffSet;
            return new Date(dateMills);
        }
    

    相关文章

      网友评论

          本文标题:时间处理

          本文链接:https://www.haomeiwen.com/subject/gpucqqtx.html