faker.providers.date_time.th_TH

Package Contents

Classes

DateParseTypeProvider

Provider

Functions

_std_strftime(→ str)

Standard datetime.strftime() with normalization and exception handling.

_thai_strftime(→ str)

Conversion support for thai_strftime().

thai_strftime(→ str)

Convert datetime.datetime into Thai date and time format.

Attributes

DateParseType

_TH_ABBR_WEEKDAYS

_TH_FULL_WEEKDAYS

_TH_ABBR_MONTHS

_TH_FULL_MONTHS

_HA_TH_DIGITS

_BE_AD_DIFFERENCE

_NEED_L10N

_EXTENSIONS

faker.providers.date_time.th_TH.DateParseType
class faker.providers.date_time.th_TH.DateParseTypeProvider(generator: Any)

Bases: faker.providers.BaseProvider

centuries: faker.providers.ElementsType[str] = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV',...
countries
regex
unix_time(end_datetime: Optional[faker.typing.DateParseType] = None, start_datetime: Optional[faker.typing.DateParseType] = None) int

Get a timestamp between January 1, 1970 and now, unless passed explicit start_datetime or end_datetime values.

Example

1061306726

time_delta(end_datetime: Optional[faker.typing.DateParseType] = None) datetime.timedelta

Get a timedelta object

date_time(tzinfo: Optional[datetime.tzinfo] = None, end_datetime: Optional[faker.typing.DateParseType] = None) datetime.datetime

Get a datetime object for a date between January 1, 1970 and now

Parameters

tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘2005-08-16 20:39:21’)

Returns

datetime

date_time_ad(tzinfo: Optional[datetime.tzinfo] = None, end_datetime: Optional[faker.typing.DateParseType] = None, start_datetime: Optional[faker.typing.DateParseType] = None) datetime.datetime

Get a datetime object for a date between January 1, 001 and now

Parameters

tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘1265-03-22 21:15:52’)

Returns

datetime

iso8601(tzinfo: Optional[datetime.tzinfo] = None, end_datetime: Optional[faker.typing.DateParseType] = None, sep: str = 'T', timespec: str = 'auto') str

Get a timestamp in ISO 8601 format (or one of its profiles).

Parameters
  • tzinfo – timezone, instance of datetime.tzinfo subclass

  • sep – separator between date and time, defaults to ‘T’

  • timespec – format specifier for the time part, defaults to ‘auto’ - see datetime.isoformat() documentation

Example

‘2003-10-21T16:05:52+0000’

date(pattern: str = '%Y-%m-%d', end_datetime: Optional[faker.typing.DateParseType] = None) str

Get a date string between January 1, 1970 and now.

Parameters

pattern – Format of the date (year-month-day by default)

Example

‘2008-11-27’

Returns

Date

date_object(end_datetime: Optional[datetime.datetime] = None) datetime.date

Get a date object between January 1, 1970 and now

Example

datetime.date(2016, 9, 20)

time(pattern: str = '%H:%M:%S', end_datetime: Optional[faker.typing.DateParseType] = None) str

Get a time string (24h format by default)

Parameters

pattern – format

Example

‘15:02:34’

time_object(end_datetime: Optional[faker.typing.DateParseType] = None) datetime.time

Get a time object

Example

datetime.time(15, 56, 56, 772876)

classmethod _parse_start_datetime(value: Optional[faker.typing.DateParseType]) int
classmethod _parse_end_datetime(value: Optional[faker.typing.DateParseType]) int
classmethod _parse_date_string(value: str) Dict[str, float]
classmethod _parse_timedelta(value: Union[datetime.timedelta, str, float]) Union[float, int]
classmethod _parse_date_time(value: faker.typing.DateParseType, tzinfo: Optional[datetime.tzinfo] = None) int
classmethod _parse_date(value: faker.typing.DateParseType) datetime.date
date_time_between(start_date: faker.typing.DateParseType = '-30y', end_date: faker.typing.DateParseType = 'now', tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Get a datetime object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime().

Parameters
  • start_date – Defaults to 30 years ago

  • end_date – Defaults to “now”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘1999-02-02 11:42:52’)

Returns

datetime

date_between(start_date: faker.typing.DateParseType = '-30y', end_date: faker.typing.DateParseType = 'today') datetime.date

Get a Date object based on a random date between two given dates. Accepts date strings that can be recognized by strtotime().

Parameters
  • start_date – Defaults to 30 years ago

  • end_date – Defaults to “today”

Example

Date(‘1999-02-02’)

Returns

Date

future_datetime(end_date: faker.typing.DateParseType = '+30d', tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Get a datetime object based on a random date between 1 second form now and a given date. Accepts date strings that can be recognized by strtotime().

Parameters
  • end_date – Defaults to “+30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘1999-02-02 11:42:52’)

Returns

datetime

future_date(end_date: faker.typing.DateParseType = '+30d', tzinfo: Optional[datetime.tzinfo] = None) datetime.date

Get a Date object based on a random date between 1 day from now and a given date. Accepts date strings that can be recognized by strtotime().

Parameters
  • end_date – Defaults to “+30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

dtdate(‘2030-01-01’)

Returns

dtdate

past_datetime(start_date: faker.typing.DateParseType = '-30d', tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Get a datetime object based on a random date between a given date and 1 second ago. Accepts date strings that can be recognized by strtotime().

Parameters
  • start_date – Defaults to “-30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘1999-02-02 11:42:52’)

Returns

datetime

past_date(start_date: faker.typing.DateParseType = '-30d', tzinfo: Optional[datetime.tzinfo] = None) datetime.date

Get a Date object based on a random date between a given date and 1 day ago. Accepts date strings that can be recognized by strtotime().

Parameters
  • start_date – Defaults to “-30d”

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

dtdate(‘1999-02-02’)

Returns

dtdate

date_time_between_dates(datetime_start: Optional[faker.typing.DateParseType] = None, datetime_end: Optional[faker.typing.DateParseType] = None, tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Takes two datetime objects and returns a random datetime between the two given datetimes. Accepts datetime objects.

Parameters
  • datetime_start – datetime

  • datetime_end – datetime

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘1999-02-02 11:42:52’)

Returns

datetime

date_between_dates(date_start: Optional[faker.typing.DateParseType] = None, date_end: Optional[faker.typing.DateParseType] = None) datetime.date

Takes two Date objects and returns a random date between the two given dates. Accepts Date or datetime objects

Parameters
  • date_start – Date

  • date_end – Date

Returns

Date

date_time_this_century(before_now: bool = True, after_now: bool = False, tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Gets a datetime object for the current century.

Parameters
  • before_now – include days in current century before today

  • after_now – include days in current century after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘2012-04-04 11:02:02’)

Returns

datetime

date_time_this_decade(before_now: bool = True, after_now: bool = False, tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Gets a datetime object for the decade year.

Parameters
  • before_now – include days in current decade before today

  • after_now – include days in current decade after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘2012-04-04 11:02:02’)

Returns

datetime

date_time_this_year(before_now: bool = True, after_now: bool = False, tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Gets a datetime object for the current year.

Parameters
  • before_now – include days in current year before today

  • after_now – include days in current year after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘2012-04-04 11:02:02’)

Returns

datetime

date_time_this_month(before_now: bool = True, after_now: bool = False, tzinfo: Optional[datetime.tzinfo] = None) datetime.datetime

Gets a datetime object for the current month.

Parameters
  • before_now – include days in current month before today

  • after_now – include days in current month after today

  • tzinfo – timezone, instance of datetime.tzinfo subclass

Example

datetime(‘2012-04-04 11:02:02’)

Returns

datetime

date_this_century(before_today: bool = True, after_today: bool = False) datetime.date

Gets a Date object for the current century.

Parameters
  • before_today – include days in current century before today

  • after_today – include days in current century after today

Example

Date(‘2012-04-04’)

Returns

Date

date_this_decade(before_today: bool = True, after_today: bool = False) datetime.date

Gets a Date object for the decade year.

Parameters
  • before_today – include days in current decade before today

  • after_today – include days in current decade after today

Example

Date(‘2012-04-04’)

Returns

Date

date_this_year(before_today: bool = True, after_today: bool = False) datetime.date

Gets a Date object for the current year.

Parameters
  • before_today – include days in current year before today

  • after_today – include days in current year after today

Example

Date(‘2012-04-04’)

Returns

Date

date_this_month(before_today: bool = True, after_today: bool = False) datetime.date

Gets a Date object for the current month.

Parameters
  • before_today – include days in current month before today

  • after_today – include days in current month after today

Example

dtdate(‘2012-04-04’)

Returns

dtdate

time_series(start_date: faker.typing.DateParseType = '-30d', end_date: faker.typing.DateParseType = 'now', precision: Optional[float] = None, distrib: Optional[Callable[[datetime.datetime], float]] = None, tzinfo: Optional[datetime.tzinfo] = None) Iterator[Tuple[datetime.datetime, Any]]

Returns a generator yielding tuples of (<datetime>, <value>).

The data points will start at start_date, and be at every time interval specified by precision. distrib is a callable that accepts <datetime> and returns <value>

am_pm() str
day_of_month() str
day_of_week() str
month() str
month_name() str
year() str
century() str
Example

‘XVII’

timezone() str
pytimezone(*args: Any, **kwargs: Any) Optional[datetime.tzinfo]

Generate a random timezone (see faker.timezone for any args) and return as a python object usable as a tzinfo to datetime or other fakers.

Example

faker.pytimezone()

Returns

dateutil.tz.tz.tzfile

date_of_birth(tzinfo: Optional[datetime.tzinfo] = None, minimum_age: int = 0, maximum_age: int = 115) datetime.date

Generate a random date of birth represented as a Date object, constrained by optional miminimum_age and maximum_age parameters.

Parameters
  • tzinfo – Defaults to None.

  • minimum_age – Defaults to 0.

  • maximum_age – Defaults to 115.

Example

Date(‘1979-02-02’)

Returns

Date

faker.providers.date_time.th_TH._TH_ABBR_WEEKDAYS = ['จ', 'อ', 'พ', 'พฤ', 'ศ', 'ส', 'อา']
faker.providers.date_time.th_TH._TH_FULL_WEEKDAYS = ['วันจันทร์', 'วันอังคาร', 'วันพุธ', 'วันพฤหัสบดี', 'วันศุกร์', 'วันเสาร์', 'วันอาทิตย์']
faker.providers.date_time.th_TH._TH_ABBR_MONTHS = ['ม.ค.', 'ก.พ.', 'มี.ค.', 'เม.ย.', 'พ.ค.', 'มิ.ย.', 'ก.ค.', 'ส.ค.', 'ก.ย.', 'ต.ค.', 'พ.ย.', 'ธ.ค.']
faker.providers.date_time.th_TH._TH_FULL_MONTHS = ['มกราคม', 'กุมภาพันธ์', 'มีนาคม', 'เมษายน', 'พฤษภาคม', 'มิถุนายน', 'กรกฎาคม', 'สิงหาคม',...
faker.providers.date_time.th_TH._HA_TH_DIGITS
faker.providers.date_time.th_TH._BE_AD_DIFFERENCE = 543
faker.providers.date_time.th_TH._NEED_L10N = 'AaBbCcDFGgvXxYy+'
faker.providers.date_time.th_TH._EXTENSIONS = 'EO-_0^#'
faker.providers.date_time.th_TH._std_strftime(dt_obj: datetime.datetime, fmt_char: str) str

Standard datetime.strftime() with normalization and exception handling.

faker.providers.date_time.th_TH._thai_strftime(dt_obj: datetime.datetime, fmt_char: str, buddhist_era: bool = True) str

Conversion support for thai_strftime().

The fmt_char should be in _NEED_L10N when call this function.

faker.providers.date_time.th_TH.thai_strftime(dt_obj: datetime.datetime, fmt: str = '%-d %b %Y', thai_digit: bool = False, buddhist_era: bool = True) str

Convert datetime.datetime into Thai date and time format.

The formatting directives are similar to datatime.strrftime().

This function uses Thai names and Thai Buddhist Era for these directives:
  • %a - abbreviated weekday name

(i.e. “จ”, “อ”, “พ”, “พฤ”, “ศ”, “ส”, “อา”) * %A - full weekday name (i.e. “วันจันทร์”, “วันอังคาร”, “วันเสาร์”, “วันอาทิตย์”) * %b - abbreviated month name (i.e. “ม.ค.”, “ก.พ.”, “มี.ค.”, “เม.ย.”, “พ.ค.”, “มิ.ย.”, “ธ.ค.”) * %B - full month name (i.e. “มกราคม”, “กุมภาพันธ์”, “พฤศจิกายน”, “ธันวาคม”,) * %y - year without century (i.e. “56”, “10”) * %Y - year with century (i.e. “2556”, “2410”) * %c - date and time representation (i.e. “พ 6 ต.ค. 01:40:00 2519”) * %v - short date representation (i.e. ” 6-ม.ค.-2562”, “27-ก.พ.-2555”)

class faker.providers.date_time.th_TH.Provider(generator: Any)

Bases: faker.providers.date_time.Provider

date(pattern: str = '%-d %b %Y', end_datetime: Optional[faker.typing.DateParseType] = None, thai_digit: bool = False, buddhist_era: bool = True) str

Get a date string between January 1, 1970 and now :param pattern: format :param end_datetime: datetime :param thai_digit: use Thai digit or not (default: False) :param buddhist_era: use Buddist era or not (default: True) :example: ‘08 พ.ย. 2563’ :example: ‘๐๘ พ.ย. 2563’ (thai_digit = True) :example: ‘8 พฤศิจกายน 2020’ (pattern: str = “%-d %B %Y”, buddhist_era = False)

time(pattern: str = '%H:%M:%S', end_datetime: Optional[faker.typing.DateParseType] = None, thai_digit: bool = False) str

Get a time string (24h format by default) :param pattern: format :param end_datetime: datetime :param thai_digit: use Thai digit or not (default: False) :example: ‘15:02:34’ :example: ‘๑๕:๐๒:๓๔’ (thai_digit = True)

century(thai_digit: bool = False, buddhist_era: bool = True) str
Parameters
  • (default (buddhist:_era use Buddist era or not) – False)

  • (default – True)

Example

‘20’