Skip to main content
`Ctrl`+`K`

# pandas.Period.strftime

Period.strftime(fmt)

  Returns a formatted string representation of the `Period`.

  `fmt` must be `None` or a string containing one or several directives. When `None`, the format will be determined from the frequency of the Period. The method recognizes the same directives as the `time.strftime()` function of the standard Python distribution, as well as the specific additional directives `%f`, `%F`, `%q`, `%l`, `%u`, `%n`. (formatting & docs originally from scikits.timeries).

  Directive | Meaning | Notes
  --- | --- | ---
  `%a` | Locale’s abbreviated weekday name. |
  `%A` | Locale’s full weekday name. |
  `%b` | Locale’s abbreviated month name. |
  `%B` | Locale’s full month name. |
  `%c` | Locale’s appropriate date and time representation. |
  `%d` | Day of the month as a decimal number [01,31]. |
  `%f` | ‘Fiscal’ year without a century as a decimal number [00,99] | (1)
  `%F` | ‘Fiscal’ year with a century as a decimal number | (2)
  `%H` | Hour (24-hour clock) as a decimal number [00,23]. |
  `%I` | Hour (12-hour clock) as a decimal number [01,12]. |
  `%j` | Day of the year as a decimal number [001,366]. |
  `%m` | Month as a decimal number [01,12]. |
  `%M` | Minute as a decimal number [00,59]. |
  `%p` | Locale’s equivalent of either AM or PM. | (3)
  `%q` | Quarter as a decimal number [1,4] |
  `%S` | Second as a decimal number [00,61]. | (4)
  `%l` | Millisecond as a decimal number [000,999]. |
  `%u` | Microsecond as a decimal number [000000,999999]. |
  `%n` | Nanosecond as a decimal number [000000000,999999999]. |
  `%U` | Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. | (5)
  `%w` | Weekday as a decimal number [0(Sunday),6]. |
  `%W` | Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. | (5)
  `%x` | Locale’s appropriate date representation. |
  `%X` | Locale’s appropriate time representation. |
  `%y` | Year without century as a decimal number [00,99]. |
  `%Y` | Year with century as a decimal number. |
  `%Z` | Time zone name (no characters if no time zone exists). |
  `%%` | A literal `'%'` character. |

  Notes

  1. The `%f` directive is the same as `%y` if the frequency is not quarterly. Otherwise, it corresponds to the ‘fiscal’ year, as defined by the `qyear` attribute.

  2. The `%F` directive is the same as `%Y` if the frequency is not quarterly. Otherwise, it corresponds to the ‘fiscal’ year, as defined by the `qyear` attribute.

  3. The `%p` directive only affects the output hour field if the `%I` directive is used to parse the hour.

  4. The range really is `0` to `61`; this accounts for leap seconds and the (very rare) double leap seconds.

  5. The `%U` and `%W` directives are only used in calculations when the day of the week and the year are specified.

  Examples

      >>> from pandas import Period
      >>> a = Period(freq='Q-JUL', year=2006, quarter=1)
      >>> a.strftime('%F-Q%q')
      '2006-Q1'
      >>> # Output the last month in the quarter of this date
      >>> a.strftime('%b-%Y')
      'Oct-2005'
      >>>
      >>> a = Period(freq='D', year=2001, month=1, day=1)
      >>> a.strftime('%d-%b-%Y')
      '01-Jan-2001'
      >>> a.strftime('%b. %d, %Y was a %A')
      'Jan. 01, 2001 was a Monday'