.class public final Lorg/apache/http/client/utils/DateUtils; .super Ljava/lang/Object; .source "DateUtils.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lorg/apache/http/client/utils/DateUtils$DateFormatHolder; } .end annotation # static fields .field private static final DEFAULT_PATTERNS:[Ljava/lang/String; .field private static final DEFAULT_TWO_DIGIT_YEAR_START:Ljava/util/Date; .field public static final GMT:Ljava/util/TimeZone; .field public static final PATTERN_ASCTIME:Ljava/lang/String; = "EEE MMM d HH:mm:ss yyyy" .field public static final PATTERN_RFC1036:Ljava/lang/String; = "EEE, dd-MMM-yy HH:mm:ss zzz" .field public static final PATTERN_RFC1123:Ljava/lang/String; = "EEE, dd MMM yyyy HH:mm:ss zzz" # direct methods .method static constructor ()V .registers 10 const/4 v0, 0x3 .line 67 new-array v0, v0, [Ljava/lang/String; const-string v1, "EEE, dd MMM yyyy HH:mm:ss zzz" const/4 v2, 0x0 aput-object v1, v0, v2 const/4 v1, 0x1 const-string v3, "EEE, dd-MMM-yy HH:mm:ss zzz" aput-object v3, v0, v1 const/4 v1, 0x2 const-string v3, "EEE MMM d HH:mm:ss yyyy" aput-object v3, v0, v1 sput-object v0, Lorg/apache/http/client/utils/DateUtils;->DEFAULT_PATTERNS:[Ljava/lang/String; .line 75 const-string v0, "GMT" invoke-static {v0}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone; move-result-object v0 sput-object v0, Lorg/apache/http/client/utils/DateUtils;->GMT:Ljava/util/TimeZone; .line 78 invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar; move-result-object v1 .line 79 invoke-virtual {v1, v0}, Ljava/util/Calendar;->setTimeZone(Ljava/util/TimeZone;)V const/4 v8, 0x0 const/4 v9, 0x0 const/16 v4, 0x7d0 const/4 v5, 0x0 const/4 v6, 0x1 const/4 v7, 0x0 move-object v3, v1 .line 80 invoke-virtual/range {v3 .. v9}, Ljava/util/Calendar;->set(IIIIII)V const/16 v0, 0xe .line 81 invoke-virtual {v1, v0, v2}, Ljava/util/Calendar;->set(II)V .line 82 invoke-virtual {v1}, Ljava/util/Calendar;->getTime()Ljava/util/Date; move-result-object v0 sput-object v0, Lorg/apache/http/client/utils/DateUtils;->DEFAULT_TWO_DIGIT_YEAR_START:Ljava/util/Date; return-void .end method .method private constructor ()V .registers 1 .line 189 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static clearThreadLocal()V .registers 0 .line 185 invoke-static {}, Lorg/apache/http/client/utils/DateUtils$DateFormatHolder;->clearThreadLocal()V return-void .end method .method public static formatDate(Ljava/util/Date;)Ljava/lang/String; .registers 2 .line 156 const-string v0, "EEE, dd MMM yyyy HH:mm:ss zzz" invoke-static {p0, v0}, Lorg/apache/http/client/utils/DateUtils;->formatDate(Ljava/util/Date;Ljava/lang/String;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static formatDate(Ljava/util/Date;Ljava/lang/String;)Ljava/lang/String; .registers 3 .line 173 const-string v0, "Date" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 174 const-string v0, "Pattern" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 175 invoke-static {p1}, Lorg/apache/http/client/utils/DateUtils$DateFormatHolder;->formatFor(Ljava/lang/String;)Ljava/text/SimpleDateFormat; move-result-object p1 .line 176 invoke-virtual {p1, p0}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String; move-result-object p0 return-object p0 .end method .method public static parseDate(Ljava/lang/String;)Ljava/util/Date; .registers 2 const/4 v0, 0x0 .line 94 invoke-static {p0, v0, v0}, Lorg/apache/http/client/utils/DateUtils;->parseDate(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; move-result-object p0 return-object p0 .end method .method public static parseDate(Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Date; .registers 3 const/4 v0, 0x0 .line 106 invoke-static {p0, p1, v0}, Lorg/apache/http/client/utils/DateUtils;->parseDate(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; move-result-object p0 return-object p0 .end method .method public static parseDate(Ljava/lang/String;[Ljava/lang/String;Ljava/util/Date;)Ljava/util/Date; .registers 8 .line 125 const-string v0, "Date value" invoke-static {p0, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; if-eqz p1, :cond_8 goto :goto_a .line 126 :cond_8 sget-object p1, Lorg/apache/http/client/utils/DateUtils;->DEFAULT_PATTERNS:[Ljava/lang/String; :goto_a if-eqz p2, :cond_d goto :goto_f .line 127 :cond_d sget-object p2, Lorg/apache/http/client/utils/DateUtils;->DEFAULT_TWO_DIGIT_YEAR_START:Ljava/util/Date; .line 131 :goto_f invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 const/4 v1, 0x1 if-le v0, v1, :cond_2d const-string v0, "\'" invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v2 if-eqz v2, :cond_2d invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_2d .line 132 invoke-virtual {p0}, Ljava/lang/String;->length()I move-result v0 sub-int/2addr v0, v1 invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String; move-result-object p0 .line 135 :cond_2d array-length v0, p1 const/4 v1, 0x0 move v2, v1 :goto_30 if-ge v2, v0, :cond_4e aget-object v3, p1, v2 .line 136 invoke-static {v3}, Lorg/apache/http/client/utils/DateUtils$DateFormatHolder;->formatFor(Ljava/lang/String;)Ljava/text/SimpleDateFormat; move-result-object v3 .line 137 invoke-virtual {v3, p2}, Ljava/text/SimpleDateFormat;->set2DigitYearStart(Ljava/util/Date;)V .line 138 new-instance v4, Ljava/text/ParsePosition; invoke-direct {v4, v1}, Ljava/text/ParsePosition;->(I)V .line 139 invoke-virtual {v3, p0, v4}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date; move-result-object v3 .line 140 invoke-virtual {v4}, Ljava/text/ParsePosition;->getIndex()I move-result v4 if-eqz v4, :cond_4b return-object v3 :cond_4b add-int/lit8 v2, v2, 0x1 goto :goto_30 :cond_4e const/4 p0, 0x0 return-object p0 .end method