Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1.  
  2. public Calendar parseDate(String input) {
  3. Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
  4. int date = 0, month = 0, year = 0, hourOfDay = 0, minute = 0, second = 0;
  5. Pattern p = Pattern.compile("([0-3][0-9])[ -]*(\\w+)[ -]*([0-9]*)[ ]*([0-9][0-9]):([0-9][0-9]):([0-9][0-9])[ ]*([A-Z]*)");
  6. Matcher m = p.matcher(input);
  7. if(!m.find())
  8. return null;
  9. date = Integer.parseInt(m.group(1));
  10. String mon = m.group(2).toLowerCase();
  11. switch(mon)
  12. {
  13. case "jan":month=0;
  14. break;
  15. case "feb":month=1;
  16. break;
  17. case "mar":month=2;
  18. break;
  19. case "apr":month=3;
  20. break;
  21. case "may":month=4;
  22. break;
  23. case "jun":month=5;
  24. break;
  25. case "jul":month=6;
  26. break;
  27. case "aug":month=7;
  28. break;
  29. case "sep":month=8;
  30. break;
  31. case "oct":month=9;
  32. break;
  33. case "nov":month=10;
  34. break;
  35. case "dec":month=11;
  36. break;
  37. default:
  38. return null;
  39. }
  40. String y = m.group(3);
  41. int temp;
  42. if(y.length()==4)
  43. year = Integer.parseInt(y);
  44. else if(y.length()==2)
  45. {
  46. temp=Integer.parseInt(m.group(3));
  47. if(temp>=0 && temp<70)
  48. year = 2000+temp;
  49. else if(temp >= 70 && temp <100)
  50. year = 1900+temp;
  51. }
  52. hourOfDay = Integer.parseInt(m.group(4));
  53. minute = Integer.parseInt(m.group(5));
  54. second = Integer.parseInt(m.group(6));
  55. String tz = m.group(7);
  56. if(!tz.contentEquals("")&&!tz.contentEquals("GMT"))
  57. {
  58. return null;
  59. }
  60. cal.set(year, month, date, hourOfDay, minute, second);
  61. return cal;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement