Skip to main content
`Ctrl`+`K`

# pandas.tseries.offsets.SemiMonthEnd

class pandas.tseries.offsets.SemiMonthEnd

  Two DateOffset’s per month repeating on the last day of the month & day_of_month.

  Parameters:
    nint, default 1

      The number of months represented.

    normalizebool, default False

      Normalize start/end dates to midnight before generating date range.

    day_of_monthint, {1, 3,…,27}, default 15

      A specific integer for the day of the month.

  Examples

      >>> ts = pd.Timestamp(2022, 1, 14)
      >>> ts + pd.offsets.SemiMonthEnd()
      Timestamp('2022-01-15 00:00:00')

      >>> ts = pd.Timestamp(2022, 1, 15)
      >>> ts + pd.offsets.SemiMonthEnd()
      Timestamp('2022-01-31 00:00:00')

      >>> ts = pd.Timestamp(2022, 1, 31)
      >>> ts + pd.offsets.SemiMonthEnd()
      Timestamp('2022-02-15 00:00:00')

  If you want to get the result for the current month:

      >>> ts = pd.Timestamp(2022, 1, 15)
      >>> pd.offsets.SemiMonthEnd().rollforward(ts)
      Timestamp('2022-01-15 00:00:00')

  Attributes

  `base` | Returns a copy of the calling offset object with n=1 and all other attributes equal.
  `day_of_month` |
  `freqstr` | Return a string representing the frequency.
  `kwds` | Return a dict of extra parameters for the offset.
  `n` |
  `name` | Return a string representing the base frequency.
  `nanos` |
  `normalize` |
  `rule_code` |

  Methods

  `copy`() | Return a copy of the frequency.
  `is_anchored`() | (DEPRECATED) Return boolean whether the frequency is a unit frequency (n=1).
  `is_month_end`(ts) | Return boolean whether a timestamp occurs on the month end.
  `is_month_start`(ts) | Return boolean whether a timestamp occurs on the month start.
  `is_on_offset`(dt) | Return boolean whether a timestamp intersects with this frequency.
  `is_quarter_end`(ts) | Return boolean whether a timestamp occurs on the quarter end.
  `is_quarter_start`(ts) | Return boolean whether a timestamp occurs on the quarter start.
  `is_year_end`(ts) | Return boolean whether a timestamp occurs on the year end.
  `is_year_start`(ts) | Return boolean whether a timestamp occurs on the year start.
  `rollback`(dt) | Roll provided date backward to next offset only if not on offset.
  `rollforward`(dt) | Roll provided date forward to next offset only if not on offset.