Documentation
¶
Index ¶
- type DateTimeParser
- func (service *DateTimeParser) DaysAgo(numDays int) (time.Time, error)
- func (service *DateTimeParser) GetUTCLocation() *time.Location
- func (service *DateTimeParser) IsDateOlderThanNumDaysAgo(t time.Time, numDays int) bool
- func (service *DateTimeParser) NowUTC() time.Time
- func (service *DateTimeParser) Parse(dateString string) (time.Time, error)
- func (service *DateTimeParser) ParseDateTime(dateString string) time.Time
- func (service *DateTimeParser) ParseISO8601(dateString string) time.Time
- func (service *DateTimeParser) ParseISO8601SqlUtc(dateString string) time.Time
- func (service *DateTimeParser) ParseShortDate(dateString string) time.Time
- func (service *DateTimeParser) ParseUSDateTime(dateString string) time.Time
- func (service *DateTimeParser) Pretty(t time.Time) string
- func (service *DateTimeParser) ToISO8601(t time.Time) string
- func (service *DateTimeParser) ToSQLString(t time.Time) string
- func (service *DateTimeParser) ToUSDate(t time.Time) string
- func (service *DateTimeParser) ToUSDateTime(t time.Time) string
- func (service *DateTimeParser) ToUSTime(t time.Time) string
- func (service *DateTimeParser) ValidDateTime(dateString string) bool
- func (service *DateTimeParser) ValidISO8601(dateString string) bool
- func (service *DateTimeParser) ValidISO8601SqlUtc(dateString string) bool
- func (service *DateTimeParser) ValidShortDate(dateString string) bool
- func (service *DateTimeParser) ValidUSDateTime(dateString string) bool
- type IDateTimeParser
- type MockDateTimeParser
- func (m *MockDateTimeParser) DaysAgo(numDays int) (time.Time, error)
- func (m *MockDateTimeParser) GetUTCLocation() *time.Location
- func (m *MockDateTimeParser) IsDateOlderThanNumDaysAgo(t time.Time, numDays int) bool
- func (m *MockDateTimeParser) NowUTC() time.Time
- func (m *MockDateTimeParser) Parse(dateString string) (time.Time, error)
- func (m *MockDateTimeParser) ParseDateTime(dateString string) time.Time
- func (m *MockDateTimeParser) ParseISO8601(dateString string) time.Time
- func (m *MockDateTimeParser) ParseISO8601SqlUtc(dateString string) time.Time
- func (m *MockDateTimeParser) ParseShortDate(dateString string) time.Time
- func (m *MockDateTimeParser) ParseUSDateTime(dateString string) time.Time
- func (m *MockDateTimeParser) Pretty(t time.Time) string
- func (m *MockDateTimeParser) ToISO8601(t time.Time) string
- func (m *MockDateTimeParser) ToSQLString(t time.Time) string
- func (m *MockDateTimeParser) ToUSDate(t time.Time) string
- func (m *MockDateTimeParser) ToUSDateTime(t time.Time) string
- func (m *MockDateTimeParser) ToUSTime(t time.Time) string
- func (m *MockDateTimeParser) ValidDateTime(dateString string) bool
- func (m *MockDateTimeParser) ValidISO8601(dateString string) bool
- func (m *MockDateTimeParser) ValidISO8601SqlUtc(dateString string) bool
- func (m *MockDateTimeParser) ValidShortDate(dateString string) bool
- func (m *MockDateTimeParser) ValidUSDateTime(dateString string) bool
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DateTimeParser ¶
type DateTimeParser struct{}
DateTimeParser provides methods for parsing and formatting dates
func (*DateTimeParser) DaysAgo ¶
func (service *DateTimeParser) DaysAgo(numDays int) (time.Time, error)
DaysAgo returns the current date minus the number of specified days
func (*DateTimeParser) GetUTCLocation ¶
func (service *DateTimeParser) GetUTCLocation() *time.Location
GetUTCLocation returns location information for the UTC timezone
func (*DateTimeParser) IsDateOlderThanNumDaysAgo ¶
func (service *DateTimeParser) IsDateOlderThanNumDaysAgo(t time.Time, numDays int) bool
IsDateOlderThanNumDaysAgo returns true if the provided date is older than today minus the specified number of days. All times are UTC
func (*DateTimeParser) NowUTC ¶
func (service *DateTimeParser) NowUTC() time.Time
NowUTC returns the current date/time in UTC
func (*DateTimeParser) Parse ¶
func (service *DateTimeParser) Parse(dateString string) (time.Time, error)
Parse is a general purposes method for parsing a date string. This will attempt to parse the string in the following formats:
- SQL (with full milliseconds and UTC indicator)
- SQL (YYYY-MM-DDTHH:MM:SS)
- Short Date (YYYY-MM-DD)
- US Date/Time (MM/DD/YYYY H:MM A)
func (*DateTimeParser) ParseDateTime ¶
func (service *DateTimeParser) ParseDateTime(dateString string) time.Time
ParseDateTime parses a string as a basic SQL date YYYY-MM-DDTHH:MM:SS
func (*DateTimeParser) ParseISO8601 ¶
func (service *DateTimeParser) ParseISO8601(dateString string) time.Time
ParseISO8601 parses a string as an ISO 8601 format YYYY-MM-DDTHH:MM:SS-07:00. The string must have the timezone indicated as an offset.
func (*DateTimeParser) ParseISO8601SqlUtc ¶
func (service *DateTimeParser) ParseISO8601SqlUtc(dateString string) time.Time
ParseISO8601SqlUtc parses a string in SQL format with milliseconds and the UTC indicator YYYY-MM-DDTHH:MM:SS.000Z
func (*DateTimeParser) ParseShortDate ¶
func (service *DateTimeParser) ParseShortDate(dateString string) time.Time
ParseShortDate parses a short date YYYY-MM-DD
func (*DateTimeParser) ParseUSDateTime ¶
func (service *DateTimeParser) ParseUSDateTime(dateString string) time.Time
ParseUSDateTime parses a standard US date/time MM/DD/YYYY H:MM A
func (*DateTimeParser) Pretty ¶
func (service *DateTimeParser) Pretty(t time.Time) string
Pretty returns a date/time formatted Jan 1 2010 at H:MMAM
func (*DateTimeParser) ToISO8601 ¶
func (service *DateTimeParser) ToISO8601(t time.Time) string
ToISO8601 formats a time as YYYY-MM-DDTHH:MM:SS-07:00, using an offset to indicate timezone
func (*DateTimeParser) ToSQLString ¶
func (service *DateTimeParser) ToSQLString(t time.Time) string
ToSQLString formats a time as YYYY-MM-DD HH:MM:SS. This is useful for inserting into a database
func (*DateTimeParser) ToUSDate ¶
func (service *DateTimeParser) ToUSDate(t time.Time) string
ToUSDate formats a time as MM/DD/YYYY
func (*DateTimeParser) ToUSDateTime ¶
func (service *DateTimeParser) ToUSDateTime(t time.Time) string
ToUSDateTime formats a time as MM/DD/YYYY H:MM AM
func (*DateTimeParser) ToUSTime ¶
func (service *DateTimeParser) ToUSTime(t time.Time) string
ToUSTime formats a time as H:MM AM
func (*DateTimeParser) ValidDateTime ¶
func (service *DateTimeParser) ValidDateTime(dateString string) bool
ValidDateTime returns true if the string is YYYY-MM-DDTHH:MM:SS
func (*DateTimeParser) ValidISO8601 ¶
func (service *DateTimeParser) ValidISO8601(dateString string) bool
ValidISO8601 returns true if the string is YYYY-MM-DDTHH:MM:SS-07:00
func (*DateTimeParser) ValidISO8601SqlUtc ¶
func (service *DateTimeParser) ValidISO8601SqlUtc(dateString string) bool
ValidISO8601SqlUtc returns true if the string is YYYY-MM-DDTHH:MM:SS.000Z
func (*DateTimeParser) ValidShortDate ¶
func (service *DateTimeParser) ValidShortDate(dateString string) bool
ValidShortDate returns true if the string is YYYY-MM-DD
func (*DateTimeParser) ValidUSDateTime ¶
func (service *DateTimeParser) ValidUSDateTime(dateString string) bool
ValidUSDateTime returns true if the string is MM/DD/YYYY H:MM AM
type IDateTimeParser ¶
type IDateTimeParser interface {
DaysAgo(numDays int) (time.Time, error)
GetUTCLocation() *time.Location
NowUTC() time.Time
IsDateOlderThanNumDaysAgo(t time.Time, numDays int) bool
Parse(dateString string) (time.Time, error)
ParseDateTime(dateString string) time.Time
ParseISO8601(dateString string) time.Time
ParseISO8601SqlUtc(dateString string) time.Time
ParseShortDate(dateString string) time.Time
ParseUSDateTime(dateString string) time.Time
Pretty(t time.Time) string
ToISO8601(t time.Time) string
ToSQLString(t time.Time) string
ToUSDate(t time.Time) string
ToUSDateTime(t time.Time) string
ToUSTime(t time.Time) string
ValidDateTime(dateString string) bool
ValidISO8601(dateString string) bool
ValidShortDate(dateString string) bool
ValidISO8601SqlUtc(dateString string) bool
ValidUSDateTime(dateString string) bool
}
IDateTimeParser is an interface describing methods that parse and format dates and times
type MockDateTimeParser ¶
type MockDateTimeParser struct {
DaysAgoFunc func(numDays int) (time.Time, error)
GetUTCLocationFunc func() *time.Location
NowUTCFunc func() time.Time
IsDateOlderThanNumDaysAgoFunc func(t time.Time, numDays int) bool
ParseFunc func(dateString string) (time.Time, error)
ParseDateTimeFunc func(dateString string) time.Time
ParseISO8601Func func(dateString string) time.Time
ParseISO8601SqlUtcFunc func(dateString string) time.Time
ParseShortDateFunc func(dateString string) time.Time
ParseUSDateTimeFunc func(dateString string) time.Time
PrettyFunc func(t time.Time) string
ToISO8601Func func(t time.Time) string
ToSQLStringFunc func(t time.Time) string
ToUSDateFunc func(t time.Time) string
ToUSDateTimeFunc func(t time.Time) string
ToUSTimeFunc func(t time.Time) string
ValidDateTimeFunc func(dateString string) bool
ValidISO8601Func func(dateString string) bool
ValidShortDateFunc func(dateString string) bool
ValidISO8601SqlUtcFunc func(dateString string) bool
ValidUSDateTimeFunc func(dateString string) bool
}
func (*MockDateTimeParser) DaysAgo ¶
func (m *MockDateTimeParser) DaysAgo(numDays int) (time.Time, error)
func (*MockDateTimeParser) GetUTCLocation ¶
func (m *MockDateTimeParser) GetUTCLocation() *time.Location
func (*MockDateTimeParser) IsDateOlderThanNumDaysAgo ¶
func (m *MockDateTimeParser) IsDateOlderThanNumDaysAgo(t time.Time, numDays int) bool
func (*MockDateTimeParser) NowUTC ¶
func (m *MockDateTimeParser) NowUTC() time.Time
func (*MockDateTimeParser) Parse ¶
func (m *MockDateTimeParser) Parse(dateString string) (time.Time, error)
func (*MockDateTimeParser) ParseDateTime ¶
func (m *MockDateTimeParser) ParseDateTime(dateString string) time.Time
func (*MockDateTimeParser) ParseISO8601 ¶
func (m *MockDateTimeParser) ParseISO8601(dateString string) time.Time
func (*MockDateTimeParser) ParseISO8601SqlUtc ¶
func (m *MockDateTimeParser) ParseISO8601SqlUtc(dateString string) time.Time
func (*MockDateTimeParser) ParseShortDate ¶
func (m *MockDateTimeParser) ParseShortDate(dateString string) time.Time
func (*MockDateTimeParser) ParseUSDateTime ¶
func (m *MockDateTimeParser) ParseUSDateTime(dateString string) time.Time
func (*MockDateTimeParser) ToSQLString ¶
func (m *MockDateTimeParser) ToSQLString(t time.Time) string
func (*MockDateTimeParser) ToUSDateTime ¶
func (m *MockDateTimeParser) ToUSDateTime(t time.Time) string
func (*MockDateTimeParser) ValidDateTime ¶
func (m *MockDateTimeParser) ValidDateTime(dateString string) bool
func (*MockDateTimeParser) ValidISO8601 ¶
func (m *MockDateTimeParser) ValidISO8601(dateString string) bool
func (*MockDateTimeParser) ValidISO8601SqlUtc ¶
func (m *MockDateTimeParser) ValidISO8601SqlUtc(dateString string) bool
func (*MockDateTimeParser) ValidShortDate ¶
func (m *MockDateTimeParser) ValidShortDate(dateString string) bool
func (*MockDateTimeParser) ValidUSDateTime ¶
func (m *MockDateTimeParser) ValidUSDateTime(dateString string) bool