Date formats
//package com.projectsexception.festivales.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
class DateFormater {
private static final String feedDatePattern = "dd/MM/yyyy HH:mm";
private static final String showDatePattern = "EEE, dd";
private static String[] patterns = {
"[A-Z][a-z]{2}, [0-9][0-9] [A-Z][a-z]{2} [0-9]{4} [0-9]{2}:[0-9]{2}",
"[A-Z][a-z]{2}, [0-9] [A-Z][a-z]{2} [0-9]{4} [0-9]{2}:[0-9]{2}",
"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}",
"[0-9]{4}-[0-9]{2}-[0-9]{2}",
"[0-9]{2}-[0-9]{2}-[0-9]{4}"
};
private static String[] datePatterns = {
"EEE, dd MMM yyyy HH:mm",
"EEE, d MMM yyyy HH:mm",
"yyyy-MM-dd'T'HH:mm",
"yyyy-MM-dd",
"dd-MM-yyyy"
};
private static Map<String, String> mapPatterns;
static {
mapPatterns = new HashMap<String, String>();
for (int i = 0; i < patterns.length; i++) {
mapPatterns.put(patterns[i], datePatterns[i]);
}
}
public static Date parseDate(String dateString) {
Pattern pattern;
Matcher matcher;
SimpleDateFormat entrada = new SimpleDateFormat("", new Locale("en"));
for (String patternString : mapPatterns.keySet()) {
pattern = Pattern.compile(patternString);
matcher = pattern.matcher(dateString);
if (matcher.find()) {
entrada.applyPattern(mapPatterns.get(patternString));
try {
return entrada.parse(matcher.group());
} catch (ParseException e) {
}
}
}
return null;
}
public static Date parseFeedDate(String dateString) {
return parseDate(dateString, feedDatePattern);
}
public static String feedDate(String dateString) {
Date date = parseDate(dateString);
if (date != null) {
return new SimpleDateFormat(feedDatePattern).format(date);
} else {
return dateString;
}
}
public static String formatShowDate(Date showDate) {
SimpleDateFormat formatter = new SimpleDateFormat(showDatePattern);
return formatter.format(showDate);
}
private static Date parseDate(String dateString, String datePattern) {
SimpleDateFormat formatter = new SimpleDateFormat(datePattern);
try {
return formatter.parse(dateString);
} catch (ParseException e) {
//
}
return null;
}
}
Related examples in the same category
1. | Write Date to AudioTrack | | |
2. | Represents a date using an integer, in a similar fashion to the implementation in Microsoft Excel. | | |
3. | A formatter that formats dates to show the elapsed time relative to some base date. | | |
4. | Iso Date | | |
5. | Get the string of the date using format "yyyy-MM-dd HH:mm:ss" | | |
6. | Parse a string that contains date, return a date object using format "yyyy-MM-dd HH:mm:ss" | | |
7. | Create Date from timestamp | | |
8. | Convert date in RFC2822 and UTC strings, and to build Date from string of dates in RFC2822 and UTC format | | |
9. | Gets a "HH:mm:ss.SSS EEE dd MMM yyyy" representation of a Date | | |
10. | Gets a "yyyy MMM dd, HH:mm:ss.SSS" representation of a Date | | |
11. | Gets a "EEE, dd MMM yyyy hh:mm:ss 'GMT'" representation of a Date | | |
12. | Parses a String for a "EEE, dd MMM yyyy hh:mm:ss 'GMT'" formatted Date | | |
13. | Formatting and parsing the various date formats we expect to encounter. | | |
14. | ISO8601, ISO8601, RFC822 Date format | | |
15. | Easter Date | | |
16. | Parse Date | | |
17. | compare Two dates with Day value | | |
18. | compare Two dates with Second value | | |
19. | Get start of a date | | |
20. | Get start date of a Month | | |
21. | Get start date of a year | | |
22. | Create date from year, month and day value | | |
23. | Create Date from year, month, day, hour, minute, second | | |
24. | Get year value from Date | | |
25. | Get Month value from Date | | |
26. | Get Day value from Date | | |
27. | Get now in Date and Millis-seconds | | |
28. | Add day, Month and year to a Date | | |
29. | Parse date in format of yyyyMMddHHmmss or yyyyMMdd | | |
30. | String to Date | | |
31. | Convert date value in long to YYYYMMDDHHMMSS format | | |
32. | Convert Date to Number | | |
33. | Get short and long date String | | |
34. | Convert Java Date To Xml Time | | |
35. | Convert dates to Julian dates. | | |
36. | Parse an RFC 822 date string. | | |
37. | Format a date into a format suitable for SQLite | | |
38. | Dot String to Date | | |
39. | Parses an RFC822 formatted date string. | | |
40. | Formats a Date according to RFC822. | | |
41. | DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT).format(date); | | |
42. | yyyy-MM-dd HH:mm:ss date format | | |
43. | Utility class for formatting and parsing the various date formats we expect to encounter. | | |
44. | Get a string representation of a date as it relates to the current time. | | |
45. | get Date String from milliseconds | | |
46. | Generate a ISO 8601 date | | |
47. | Generate a Calendar from ISO 8601 date | | |
48. | parse Date for list of possible formats | | |
49. | date To String | | |
50. | Get date string for Locale tr | | |
51. | RFC3339 Date | | |
52. | build Date Format day-of-week Short | | |
53. | Get end of each day | | |
54. | Get the end of each Month | | |
55. | Get end of a year | | |
56. | calculate Month Distance | | |
57. | calculate Day Distance | | |
58. | The month, and just the month, is zero-based. Add 1 for display. | | |
59. | Get hour different | | |
60. | format Millis Into Human Readable | | |