PageRenderTime 34ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/gbis.gbandroid-49/gbis.gbandroid-49-java/gbis/gbandroid/utils/DateUtils.java

https://bitbucket.org/jervisfm/android-research
Java | 256 lines | 234 code | 18 blank | 4 comment | 48 complexity | c32c6830cb276d58fb2380406f27b37c MD5 | raw file
  1. package gbis.gbandroid.utils;
  2. import java.text.DecimalFormat;
  3. import java.text.ParseException;
  4. import java.text.SimpleDateFormat;
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.GregorianCalendar;
  8. import java.util.TimeZone;
  9. public abstract class DateUtils
  10. {
  11. public static final int DAY_IN_MILLIS = 86400000;
  12. public static final int HOUR_IN_MILLIS = 3600000;
  13. public static final int MINUTE_IN_MILLIS = 60000;
  14. public static final long MONTH_IN_MILLIS = 2592000000L;
  15. private static boolean a(int paramInt)
  16. {
  17. if (paramInt % 400 == 0);
  18. do
  19. {
  20. return true;
  21. if (paramInt % 100 == 0)
  22. return false;
  23. }
  24. while (paramInt % 4 == 0);
  25. return false;
  26. }
  27. public static String changeToServerType(String paramString)
  28. {
  29. Object localObject = new Date();
  30. SimpleDateFormat localSimpleDateFormat;
  31. if (!paramString.equals("now"))
  32. localSimpleDateFormat = new SimpleDateFormat("M/dd/yyyy h:mm:ss a");
  33. try
  34. {
  35. Date localDate = localSimpleDateFormat.parse(paramString);
  36. localObject = localDate;
  37. return new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS").format((Date)localObject).replace(' ', 'T');
  38. }
  39. catch (ParseException localParseException)
  40. {
  41. while (true)
  42. localParseException.printStackTrace();
  43. }
  44. }
  45. public static String compareDateToNow(Date paramDate, int paramInt)
  46. {
  47. GregorianCalendar localGregorianCalendar = new GregorianCalendar();
  48. TimeZone localTimeZone = TimeZone.getTimeZone("EST5EDT");
  49. int i = localGregorianCalendar.getTimeZone().getOffset(localGregorianCalendar.getTimeInMillis()) / 3600000 - paramInt - localTimeZone.getOffset(localGregorianCalendar.getTimeInMillis()) / 3600000;
  50. long l = Math.abs(paramDate.getTime() - localGregorianCalendar.getTime().getTime() + i * 3600000);
  51. if (l < 86400000L)
  52. {
  53. if (l < 3600000L)
  54. {
  55. if ((int)(l / 60000L) > 1)
  56. return Integer.toString((int)(l / 60000L)) + " minutes ago";
  57. if ((int)(l / 60000L) <= 0)
  58. return "a moment ago";
  59. return Integer.toString((int)(l / 60000L)) + " minute ago";
  60. }
  61. if ((int)l / 3600000 > 1)
  62. return Integer.toString((int)(l / 3600000L)) + " hours ago";
  63. return Integer.toString((int)(l / 3600000L)) + " hour ago";
  64. }
  65. Calendar localCalendar = Calendar.getInstance();
  66. localCalendar.setTimeInMillis(paramDate.getTime() + i);
  67. return new SimpleDateFormat("EEE h:mm a").format(new Date(localCalendar.getTimeInMillis()));
  68. }
  69. public static String getAge(Date paramDate)
  70. {
  71. int i = 0;
  72. Calendar localCalendar1 = Calendar.getInstance();
  73. Calendar localCalendar2 = Calendar.getInstance();
  74. localCalendar2.setTime(paramDate);
  75. int j = localCalendar1.get(1) - localCalendar2.get(1);
  76. int k = localCalendar1.get(2) - localCalendar2.get(2);
  77. int m = (int)Math.floor((localCalendar1.getTimeInMillis() - localCalendar2.getTimeInMillis()) / 86400000L);
  78. if ((k < 0) || ((k == 0) && (localCalendar1.get(5) - localCalendar2.get(5) < 0)));
  79. for (int n = j - 1; ; n = j)
  80. {
  81. Calendar localCalendar3;
  82. if (n != 0)
  83. {
  84. localCalendar3 = Calendar.getInstance();
  85. if (!a(localCalendar2.get(1)))
  86. break label408;
  87. localCalendar3.set(localCalendar2.get(1), 1, 29);
  88. if (!localCalendar2.after(localCalendar3))
  89. break label408;
  90. }
  91. label401: label408: for (int i2 = -1; ; i2 = 0)
  92. {
  93. localCalendar3.setTimeInMillis(localCalendar2.getTimeInMillis());
  94. if (i >= n)
  95. {
  96. if (a(localCalendar3.get(1)))
  97. {
  98. localCalendar3.set(localCalendar1.get(1), 1, 29);
  99. if (localCalendar1.after(localCalendar3))
  100. i2++;
  101. }
  102. if (i2 == 0)
  103. break label401;
  104. }
  105. for (int i1 = m % i2; ; i1 = m)
  106. {
  107. String str;
  108. if (n > 0)
  109. if (n > 1)
  110. str = n + " years";
  111. while (true)
  112. {
  113. label234: if (i1 > 0)
  114. if (i1 != 1)
  115. break label359;
  116. label359: for (str = str + " " + i1 + " day"; ; str = str + " " + i1 + " days")
  117. {
  118. if (str.equals(""))
  119. str = "Less than a day";
  120. return str;
  121. if (a(localCalendar3.get(1)))
  122. i2 += 366;
  123. while (true)
  124. {
  125. i++;
  126. localCalendar3.add(1, 1);
  127. break;
  128. i2 += 365;
  129. }
  130. str = n + " year";
  131. break label234;
  132. }
  133. str = "";
  134. }
  135. }
  136. }
  137. }
  138. }
  139. public static String getDateForWinners(Date paramDate)
  140. {
  141. return new SimpleDateFormat("MMMM d, yyyy").format(paramDate);
  142. }
  143. public static String getNowMD5()
  144. {
  145. Calendar localCalendar = Calendar.getInstance();
  146. int i = localCalendar.get(1);
  147. int j = localCalendar.get(5);
  148. int k = localCalendar.get(2);
  149. DecimalFormat localDecimalFormat = new DecimalFormat("00");
  150. return i + "_" + localDecimalFormat.format(k + 1) + "_" + localDecimalFormat.format(j);
  151. }
  152. public static int getNowOffset()
  153. {
  154. GregorianCalendar localGregorianCalendar = new GregorianCalendar();
  155. return localGregorianCalendar.getTimeZone().getOffset(localGregorianCalendar.getTimeInMillis()) / 3600000 - TimeZone.getTimeZone("EST5EDT").getOffset(localGregorianCalendar.getTimeInMillis()) / 3600000;
  156. }
  157. public static Date[] getPrevHours()
  158. {
  159. Calendar localCalendar1 = Calendar.getInstance();
  160. Calendar localCalendar2 = Calendar.getInstance();
  161. Date[] arrayOfDate = new Date[25];
  162. localCalendar2.setTimeInMillis(60000L * (localCalendar2.getTimeInMillis() / 60000L));
  163. int i;
  164. if (localCalendar2.getTimeInMillis() % 900000L == 0L)
  165. {
  166. if (localCalendar1.getTimeInMillis() - localCalendar2.getTimeInMillis() < 60000L)
  167. localCalendar2.setTimeInMillis(localCalendar2.getTimeInMillis() - 900000L);
  168. i = 0;
  169. label73: if (localCalendar1.getTimeInMillis() - 7200000L < localCalendar2.getTimeInMillis())
  170. break label163;
  171. if (localCalendar2.getTimeInMillis() % 1800000L != 0L)
  172. localCalendar2.setTimeInMillis(localCalendar2.getTimeInMillis() - 900000L);
  173. label114: if (localCalendar1.getTimeInMillis() - 21600000L < localCalendar2.getTimeInMillis())
  174. break label188;
  175. }
  176. while (true)
  177. {
  178. if (localCalendar1.getTimeInMillis() - 43200000L >= localCalendar2.getTimeInMillis())
  179. {
  180. return arrayOfDate;
  181. localCalendar2.setTimeInMillis(localCalendar2.getTimeInMillis() - 60000L);
  182. break;
  183. label163: arrayOfDate[i] = localCalendar2.getTime();
  184. localCalendar2.setTimeInMillis(localCalendar2.getTimeInMillis() - 900000L);
  185. i++;
  186. break label73;
  187. label188: arrayOfDate[i] = localCalendar2.getTime();
  188. localCalendar2.setTimeInMillis(localCalendar2.getTimeInMillis() - 1800000L);
  189. i++;
  190. break label114;
  191. }
  192. arrayOfDate[i] = localCalendar2.getTime();
  193. localCalendar2.setTimeInMillis(localCalendar2.getTimeInMillis() - 3600000L);
  194. i++;
  195. }
  196. }
  197. public static String getQueryTimeStampDevice()
  198. {
  199. return new SimpleDateFormat("yyyy-MM-dd H:mm:ss").format(new Date());
  200. }
  201. public static String getQueryTimeStampEastern()
  202. {
  203. GregorianCalendar localGregorianCalendar = new GregorianCalendar();
  204. TimeZone localTimeZone = TimeZone.getTimeZone("EST5EDT");
  205. int i = localGregorianCalendar.getTimeZone().getOffset(localGregorianCalendar.getTimeInMillis()) - localTimeZone.getOffset(localGregorianCalendar.getTimeInMillis());
  206. return new SimpleDateFormat("yyyy-MM-dd H:mm:ss").format(new Date(localGregorianCalendar.getTimeInMillis() - i));
  207. }
  208. public static String getTimeNow()
  209. {
  210. return getTimeToString(Calendar.getInstance().getTime());
  211. }
  212. public static String getTimeToString(Date paramDate)
  213. {
  214. return new SimpleDateFormat("h:mm a").format(paramDate);
  215. }
  216. public static String getTimeToValue(Date paramDate)
  217. {
  218. return new SimpleDateFormat("M/dd/yyyy h:mm:ss a").format(paramDate);
  219. }
  220. public static Date toDateFormat(String paramString)
  221. {
  222. int i = Integer.valueOf(paramString.substring(0, 4)).intValue();
  223. int j = Integer.valueOf(paramString.substring(5, 7)).intValue();
  224. int k = Integer.valueOf(paramString.substring(8, 10)).intValue();
  225. int m = Integer.valueOf(paramString.substring(11, 13)).intValue();
  226. int n = Integer.valueOf(paramString.substring(14, 16)).intValue();
  227. int i1 = Integer.valueOf(paramString.substring(17, 19)).intValue();
  228. return new GregorianCalendar(i, j - 1, k, m, n, i1).getTime();
  229. }
  230. public static String toString(Date paramDate)
  231. {
  232. return new SimpleDateFormat("MMM d, yyyy").format(paramDate);
  233. }
  234. }
  235. /* Location: D:\code\Research\Android\apks\gbis.gbandroid-49\gbis.gbandroid-49_dex2jar.jar
  236. * Qualified Name: gbis.gbandroid.utils.DateUtils
  237. * JD-Core Version: 0.6.2
  238. */