Date and Time#
Methods accepting a $timezone
argument default to date_default_timezone_get()
. You can pass a custom timezone string
to each method, or define a custom timezone for all time methods at once using $faker::setDefaultTimezone($timezone)
.
unixTime
#
Generate an unix time between zero, and the given value. By default, now
is
used as input.
Optionally, a parameter can be supplied containing a DateTime
, int
or string
.
echo $faker->unixTime();
// 1605544623, 1025544612
echo $faker->unixTime(new DateTime('+3 weeks'));
// unix timestamp between 0 and the date 3 weeks from now.
dateTime
#
Generate a DateTime
between January 1, 1970, and the given max. By default, now
is used as max.
Optionally, a parameter can be supplied containing a DateTime
, int
or string
.
An optional second parameter can be supplied, with the timezone.
echo $faker->dateTime();
// DateTime: August 12, 1991
dateTimeAD
#
Generate a DateTime
between January 1, 0001, and the given max. By default, now
is used as max.
An optional second parameter can be supplied, with the timezone.
echo $faker->dateTimeAD();
// DateTime: September 19, 718
iso8601
#
Generate an ISO8601 formatted string
between January 1, 0001, and the given max. By default, now
is used as max.
echo $faker->iso8601();
date
#
Generate a date string
, with a given format and max value. By default, 'Y-m-d'
and 'now'
are used for the format
and maximum value respectively.
echo $faker->date();
// '1999-06-09'
echo $faker->date('Y_m_d');
// '2011_02_19'
time
#
Generate a time string
, with a given format and max value. By default, H:i:s'
and now
are used for the format and
maximum value respectively.
echo $faker->time();
// '12:02:50'
echo $faker->time('H_i_s');
// '20_49_12'
dateTimeBetween
#
Generate a DateTime
between two dates. By default, -30 years
and now
are used.
An optional third parameter can be supplied, with the timezone.
echo $faker->dateTimeBetween();
// a date between -30 years ago, and now
echo $faker->dateTimeBetween('-1 week', '+1 week');
// a date between -1 week ago, and 1 week from now
dateTimeInInterval
#
Generate a DateTime
between a date and an interval from that date. By default, the date is set to -30 years
, and the
interval is set to +5 days
.
An optional third parameter can be supplied, with the timezone.
echo $faker->dateTimeInInterval();
// a date between -30 years ago, and -30 years + 5 days
echo $faker->dateTimeInInterval('-1 week', '+3 days');
// a date between -1 week ago, and -1 week + 3 days
dateTimeThisCentury
#
Generate a DateTime
that is within the current century. An optional $max
value can be supplied, by default this is
set to now
.
An optional second parameter can be supplied, with the timezone.
echo $faker->dateTimeThisCentury();
// a date somewhere in this century
echo $faker->dateTimeThisCentury('+8 years');
// a date somewhere in this century, with an upper bound of +8 years
dateTimeThisDecade
#
Generate a DateTime
that is within the current decade. An optional $max
value can be supplied, by default this is
set to now
.
An optional second parameter can be supplied, with the timezone.
echo $faker->dateTimeThisDecade();
// a date somewhere in this decade
echo $faker->dateTimeThisDecade('+2 years');
// a date somewhere in this decade, with an upper bound of +2 years
dateTimeThisYear
#
Generate a DateTime
that is within the current year. An optional $max
value can be supplied, by default this is set
to now
.
An optional second parameter can be supplied, with the timezone.
echo $faker->dateTimeThisYear();
// a date somewhere in this year
echo $faker->dateTimeThisYear('+2 months');
// a date somewhere in this year, with an upper bound of +2 months
dateTimeThisMonth
#
Generate a DateTime
that is within the current month. An optional $max
value can be supplied, by default this is set
to now
.
An optional second parameter can be supplied, with the timezone.
echo $faker->dateTimeThisMonth();
// a date somewhere in this month
echo $faker->dateTimeThisMonth('+12 days');
// a date somewhere in this month, with an upper bound of +12 days
amPm
#
Generate a random DateTime
, with a given upper bound, and return the am/pm string
value. By default, the upper bound
is set to now
.
echo $faker->amPm();
// 'am'
echo $faker->amPm('+2 weeks');
// 'pm'
dayOfMonth
#
Generate a random DateTime
, with a given upper bound, and return the day of month string
value. By default, the
upper bound is set to now
.
echo $faker->dayOfMonth();
// '24'
echo $faker->dayOfMonth('+2 weeks');
// '05'
dayOfWeek
#
Generate a random DateTime
, with a given upper bound, and return the day of week string
value. By default, the
upper bound is set to now
.
echo $faker->dayOfWeek();
// 'Tuesday'
echo $faker->dayOfWeek('+2 weeks');
// 'Friday'
month
#
Generate a random DateTime
, with a given upper bound, and return the month's number string
value. By default, the
upper bound is set to now
.
echo $faker->month();
// '9'
echo $faker->month('+10 weeks');
// '7'
monthName
#
Generate a random DateTime
, with a given upper bound, and return the month's name string
value. By default, the
upper bound is set to now
.
echo $faker->monthName();
// 'September'
echo $faker->monthName('+10 weeks');
// 'April'
year
#
Generate a random DateTime
, with a given upper bound, and return the year's string
value. By default, the
upper bound is set to now
.
echo $faker->year();
// '1998'
echo $faker->year('+10 years');
// '2022'
century
#
Generate a random century name.
echo $faker->century();
// 'IX', 'XVII', 'II'
timezone
#
Generate a random timezone name.
echo $faker->timezone();
// 'Europe/Amsterdam', 'America/Montreal'
echo $faker->timezone('US');
// 'America/New_York', 'America/Los_Angeles'