Class GitDateParser


  • public class GitDateParser
    extends java.lang.Object
    Parses strings with time and date specifications into Date. When git needs to parse strings specified by the user this parser can be used. One example is the parsing of the config parameter gc.pruneexpire. The parser can handle only subset of what native gits approxidate parser understands.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.util.Date NEVER
      The Date representing never.
    • Constructor Summary

      Constructors 
      Constructor Description
      GitDateParser()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.Date parse​(java.lang.String dateStr, java.util.Calendar now)
      Parses a string into a Date using the default locale.
      static java.util.Date parse​(java.lang.String dateStr, java.util.Calendar now, java.util.Locale locale)
      Parses a string into a Date using the given locale.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NEVER

        public static final java.util.Date NEVER
        The Date representing never. Though this is a concrete value, most callers are adviced to avoid depending on the actual value.
    • Constructor Detail

      • GitDateParser

        public GitDateParser()
    • Method Detail

      • parse

        public static java.util.Date parse​(java.lang.String dateStr,
                                           java.util.Calendar now)
                                    throws java.text.ParseException
        Parses a string into a Date using the default locale. Since this parser also supports relative formats (e.g. "yesterday") the caller can specify the reference date. These types of strings can be parsed:
        • "never"
        • "now"
        • "yesterday"
        • "(x) years|months|weeks|days|hours|minutes|seconds ago"
          Multiple specs can be combined like in "2 weeks 3 days ago". Instead of ' ' one can use '.' to seperate the words
        • "yyyy-MM-dd HH:mm:ss Z" (ISO)
        • "EEE, dd MMM yyyy HH:mm:ss Z" (RFC)
        • "yyyy-MM-dd"
        • "yyyy.MM.dd"
        • "MM/dd/yyyy",
        • "dd.MM.yyyy"
        • "EEE MMM dd HH:mm:ss yyyy Z" (DEFAULT)
        • "EEE MMM dd HH:mm:ss yyyy" (LOCAL)
        Parameters:
        dateStr - the string to be parsed
        now - the base date which is used for the calculation of relative formats. E.g. if baseDate is "25.8.2012" then parsing of the string "1 week ago" would result in a date corresponding to "18.8.2012". This is used when a JGit command calls this parser often but wants a consistent starting point for calls.
        If set to null then the current time will be used instead.
        Returns:
        the parsed Date
        Throws:
        java.text.ParseException - if the given dateStr was not recognized
      • parse

        public static java.util.Date parse​(java.lang.String dateStr,
                                           java.util.Calendar now,
                                           java.util.Locale locale)
                                    throws java.text.ParseException
        Parses a string into a Date using the given locale. Since this parser also supports relative formats (e.g. "yesterday") the caller can specify the reference date. These types of strings can be parsed:
        • "never"
        • "now"
        • "yesterday"
        • "(x) years|months|weeks|days|hours|minutes|seconds ago"
          Multiple specs can be combined like in "2 weeks 3 days ago". Instead of ' ' one can use '.' to seperate the words
        • "yyyy-MM-dd HH:mm:ss Z" (ISO)
        • "EEE, dd MMM yyyy HH:mm:ss Z" (RFC)
        • "yyyy-MM-dd"
        • "yyyy.MM.dd"
        • "MM/dd/yyyy",
        • "dd.MM.yyyy"
        • "EEE MMM dd HH:mm:ss yyyy Z" (DEFAULT)
        • "EEE MMM dd HH:mm:ss yyyy" (LOCAL)
        Parameters:
        dateStr - the string to be parsed
        now - the base date which is used for the calculation of relative formats. E.g. if baseDate is "25.8.2012" then parsing of the string "1 week ago" would result in a date corresponding to "18.8.2012". This is used when a JGit command calls this parser often but wants a consistent starting point for calls.
        If set to null then the current time will be used instead.
        locale - locale to be used to parse the date string
        Returns:
        the parsed Date
        Throws:
        java.text.ParseException - if the given dateStr was not recognized
        Since:
        3.2