Package org.apache.pinot.spi.data
Class DateTimeFormatSpec
- java.lang.Object
-
- org.apache.pinot.spi.data.DateTimeFormatSpec
-
public class DateTimeFormatSpec extends Object
Class to represent format fromDateTimeFieldSpec
-
-
Constructor Summary
Constructors Constructor Description DateTimeFormatSpec(String format)
-
Method Summary
Modifier and Type Method Description booleanequals(Object o)static DateTimeFormatSpecforEpoch(int size, String timeUnit)static DateTimeFormatSpecforEpoch(String timeUnit)static DateTimeFormatSpecforSimpleDateFormat(String patternWithTz)static DateTimeFormatSpecforSimpleDateFormat(String pattern, String timeZone)static DateTimeFormatSpecforTimestamp()longfromFormatToMillis(String dateTimeValue)Converts the date time value to the time in millis.StringfromMillisToFormat(long timeMs)Converts the time in millis to the date time format.DateTimeFormatUnitSpec.DateTimeTransformUnitgetColumnDateTimeTransformUnit()intgetColumnSize()TimeUnitgetColumnUnit()org.joda.time.format.DateTimeFormattergetDateTimeFormatter()org.joda.time.DateTimeZonegetDateTimezone()StringgetSDFPattern()DateTimeFieldSpec.TimeFormatgetTimeFormat()inthashCode()StringtoString()
-
-
-
Constructor Detail
-
DateTimeFormatSpec
public DateTimeFormatSpec(String format)
-
-
Method Detail
-
forTimestamp
public static DateTimeFormatSpec forTimestamp()
-
forEpoch
public static DateTimeFormatSpec forEpoch(String timeUnit)
-
forEpoch
public static DateTimeFormatSpec forEpoch(int size, String timeUnit)
-
forSimpleDateFormat
public static DateTimeFormatSpec forSimpleDateFormat(String patternWithTz)
-
forSimpleDateFormat
public static DateTimeFormatSpec forSimpleDateFormat(String pattern, @Nullable String timeZone)
-
getColumnSize
public int getColumnSize()
-
getColumnUnit
public TimeUnit getColumnUnit()
-
getColumnDateTimeTransformUnit
public DateTimeFormatUnitSpec.DateTimeTransformUnit getColumnDateTimeTransformUnit()
-
getTimeFormat
public DateTimeFieldSpec.TimeFormat getTimeFormat()
-
getSDFPattern
public String getSDFPattern()
-
getDateTimezone
public org.joda.time.DateTimeZone getDateTimezone()
-
getDateTimeFormatter
public org.joda.time.format.DateTimeFormatter getDateTimeFormatter()
-
fromMillisToFormat
public String fromMillisToFormat(long timeMs)
Converts the time in millis to the date time format.- Given timeMs=1498892400000 and format='1:HOURS:EPOCH', returns 1498892400000/(1000*60*60)='416359'
- Given timeMs=1498892400000 and format='5:MINUTES:EPOCH', returns 1498892400000/(1000*60*5)='4996308'
- Given timeMs=1498892400000 and format='1:MILLISECONDS:TIMESTAMP', returns '2017-07-01 00:00:00.0'
- Given timeMs=1498892400000 and format='1:DAYS:SIMPLE_DATE_FORMAT:yyyyMMdd', returns '20170701'
-
fromFormatToMillis
public long fromFormatToMillis(String dateTimeValue)
Converts the date time value to the time in millis.- Given dateTimeValue='416359' and format='1:HOURS:EPOCH', returns 416359*(1000*60*60)=1498892400000
- Given dateTimeValue='4996308' and format='5:MINUTES:EPOCH', returns 4996308*(1000*60*5)=1498892400000
- Given dateTimeValue='2017-07-01 00:00:00' and format='1:MILLISECONDS:TIMESTAMP', returns 1498892400000
- Given dateTimeValue='1498892400000' and format='1:DAYS:TIMESTAMP', returns 1498892400000
- Given dateTimeValue='20170701' and format='1:DAYS:SIMPLE_DATE_FORMAT:yyyyMMdd', returns 1498892400000
-
-