LoginSignup
0
4

More than 3 years have passed since last update.

【忘備録】日付の自動取得、営業日に変換、フォーマット調整

Last updated at Posted at 2019-10-07
  • pythonでの日付取得
    • 自動更新などに用いるための日付取得
      • 土日を抜かした日付のみ自動でファイルを作成したいときなどに利用
    • フォーマットの整理(ここではYYYY/MM/DDで出力)
import datetime

def adj_bd(date):
    """ Function for Calendar date to previous Business-day
    """
    if datetime.date.weekday(date) == 5:  # if it's Saturday
        outlastbd = date - datetime.timedelta(days=1)  # then make it Friday
    elif datetime.date.weekday(date) == 6:  # if it's Sunday
        outlastbd = date - datetime.timedelta(days=2)  # then make it Friday
    else:
        outlastbd = date
    return outlastbd

使用例

# 前営業日
pre_day = datetime.datetime.today() - datetime.timedelta(1)
pre_day_bd = adj_bd(pre_day)
#月初営業日
b_month_ = adj_bd(pre_day.replace(day=20)).replace(day=1)
b_month_bd = adj_bd(b_month_).strftime("%Y/%m/%d")

# 前月末営業日
last_e_month_ = b_month_ - datetime.timedelta(days=1)
last_e_month_bd = adj_bd(last_e_month_).strftime("%Y/%m/%d")

# X営業日前
def lag_bd(t0_, lag=1):
    lag_day = adj_bd(adj_bd(t0_) -
                     datetime.timedelta(lag)).strftime("%Y/%m/%d")
    return lag_day

# e.g. 2営業日前
lag_bd(pre_day, 2)

0
4
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4