This is a zoned-time method for the format()
generic.
This function allows you to format a zoned-time using a flexible format
string.
If format
is NULL
, a default format of "%Y-%m-%dT%H:%M:%S%Ez[%Z]"
is
used. This matches the default format that zoned_time_parse_complete()
parses. Additionally, this format matches the de-facto standard extension to
RFC 3339 for creating completely unambiguous date-times.
# S3 method for clock_zoned_time
format(x, ..., format = NULL, locale = clock_locale(), abbreviate_zone = FALSE)
A character vector of the formatted input.
[clock_zoned_time]
A zoned-time.
[dots]
Not used, but no error will be thrown if not empty to remain compatible
with usage of the format()
generic.
[character(1) / NULL]
If NULL
, a default format is used, which depends on the type of the
input.
Otherwise, a format string which is a combination of:
Year
%C
: The year divided by 100 using floored division. If the result
is a single decimal digit, it is prefixed with 0
.
%y
: The last two decimal digits of the year. If the result is a single
digit it is prefixed by 0
.
%Y
: The year as a decimal number. If the result is less than four
digits it is left-padded with 0
to four digits.
Month
%b
, %h
: The locale
's abbreviated month name.
%B
: The locale
's full month name.
%m
: The month as a decimal number. January is 01
. If the result is a
single digit, it is prefixed with 0
.
Day
%d
: The day of month as a decimal number. If the result is a single
decimal digit, it is prefixed with 0
.
Day of the week
%a
: The locale
's abbreviated weekday name.
%A
: The locale
's full weekday name.
%w
: The weekday as a decimal number (0-6
), where Sunday is 0
.
ISO 8601 week-based year
%g
: The last two decimal digits of the ISO week-based year. If the
result is a single digit it is prefixed by 0
.
%G
: The ISO week-based year as a decimal number. If the result is less
than four digits it is left-padded with 0
to four digits.
%V
: The ISO week-based week number as a decimal number. If the result
is a single digit, it is prefixed with 0
.
%u
: The ISO weekday as a decimal number (1-7
), where Monday is 1
.
Week of the year
%U
: The week number of the year as a decimal number. The first Sunday
of the year is the first day of week 01
. Days of the same year prior to
that are in week 00
. If the result is a single digit, it is prefixed with
0
.
%W
: The week number of the year as a decimal number. The first Monday
of the year is the first day of week 01
. Days of the same year prior to
that are in week 00
. If the result is a single digit, it is prefixed with
0
.
Day of the year
%j
: The day of the year as a decimal number. January 1 is 001
. If the
result is less than three digits, it is left-padded with 0
to three
digits.
Date
%D
, %x
: Equivalent to %m/%d/%y
.
%F
: Equivalent to %Y-%m-%d
.
Time of day
%H
: The hour (24-hour clock) as a decimal number. If the result is a
single digit, it is prefixed with 0
.
%I
: The hour (12-hour clock) as a decimal number. If the result is a
single digit, it is prefixed with 0
.
%M
: The minute as a decimal number. If the result is a single digit, it
is prefixed with 0
.
%S
: Seconds as a decimal number. Fractional seconds are printed at the
precision of the input. The character for the decimal point is localized
according to locale
.
%p
: The locale
's equivalent of the AM/PM designations associated with
a 12-hour clock.
%R
: Equivalent to %H:%M
.
%T
, %X
: Equivalent to %H:%M:%S
.
%r
: Nearly equivalent to %I:%M:%S %p
, but seconds are always printed
at second precision.
Time zone
%z
: The offset from UTC in the ISO 8601 format. For example -0430
refers to 4 hours 30 minutes behind UTC. If the offset is zero, +0000
is
used. The modified command %Ez
inserts a :
between the hour and
minutes, like -04:30
.
%Z
: The full time zone name. If abbreviate_zone
is TRUE
, the time
zone abbreviation.
Miscellaneous
%c
: A date and time representation. Similar to, but not exactly the
same as, %a %b %d %H:%M:%S %Y
.
%%
: A %
character.
%n
: A newline character.
%t
: A horizontal-tab character.
[clock_locale]
A locale object created from clock_locale()
.
[logical(1)]
If TRUE
, %Z
returns an abbreviated time zone name.
If FALSE
, %Z
returns the full time zone name.
x <- year_month_day(2019, 1, 1)
x <- as_zoned_time(as_naive_time(x), "America/New_York")
format(x)
format(x, format = "%B %d, %Y")
format(x, format = "%B %d, %Y", locale = clock_locale("fr"))
Run the code above in your browser using DataLab