Date formats : Date « Date Type « Android






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