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.

  This offset allows for flexibility in generating date ranges or adjusting dates to the end of a month or a specific day in the month, such as the 15th or the last day of the month. It is useful for financial or scheduling applications where events occur bi-monthly.

  Attributes

  `n` | Return the count of the number of periods.
  `normalize` | Return boolean whether the frequency can align with midnight.
  `day_of_month` | Return the day of the month for the semi-monthly offset.

  See also

  `tseries.offsets.SemiMonthBegin`

    Offset for semi-monthly frequencies, starting at the beginning of the month.

  `tseries.offsets.MonthEnd`

    Offset to the last calendar day of the month.

  `tseries.offsets.MonthBegin`

    Offset to the first calendar 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` | Return the day of the month for the semi-monthly offset.
  `freqstr` | Return a string representing the frequency.
  `kwds` | Return a dict of extra parameters for the offset.
  `n` | Return the count of the number of periods.
  `name` | Return a string representing the base frequency.
  `nanos` | Returns an integer of the total number of nanoseconds for fixed frequencies.
  `normalize` | Return boolean whether the frequency can align with midnight.
  `rule_code` |

  Methods

  `copy`() | Return a copy of the frequency.
  `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.