Pythonタイムモジュールの一般的な操作の概要

時間モジュールの一般的な操作は、次の機能として要約されます。

#! /usr/bin/env python
# - *- coding: utf-8-*-import sys
reload(sys)
sys.setdefaultencoding('utf-8')import time
import datetime
import calendar

def second_to_datetime_string(seconds):"""
 AD0から始まる秒数をdatetimeの文字列形式に変換します
 : param seconds:AD0からの秒数
 : return:日時の文字列形式
    """
 s = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(float(seconds)))
 year = s.split('-',1)[0]
 rest = s.split('-',1)[1]
 year =int(year)-1970  #日時は1970年からであるため、計算時に1970returnを差し引く必要があります。'{}-{}'.format(str(year), rest)

def gregorian_date_to_str(year, month, day):"""
 ADの日付を文字列に変換します。年は4桁、月は2桁、日は2桁、桁数が不足している場合は0です。:param year:年、例:2017:param month:8や08などの月:param day:12、02、2などの日:return:2017など、固定桁数の文字列を返します-08-22"""
 return'{}-{}-{}'.format(
  year,
  month iflen(str(month))==2else'0{}'.format(month),
  day iflen(str(day))==2else'0{}'.format(day))

def gregorian_date_to_str_1(year, month, day):"""
 ADの日付を文字列に変換します。年は4桁、月は2桁、日は2桁、桁数が不足している場合は0です。:param year:年、例:2017:param month:8や08などの月:param day:12、02、2などの日:return:固定桁数の文字列を返します。-、20170822など"""
 return'{}{}{}'.format(
  year,
  month iflen(str(month))==2else'0{}'.format(month),
  day iflen(str(day))==2else'0{}'.format(day))

def get_element_from_date_str(date_str):"""日付文字列の年、月、日を取得します"""return date_str[0:4], date_str[4:6], date_str[6:8]

def is_valid_date(date_str):"""有効な日付文字列かどうかを確認します"""try:
  time.strptime(date_str,'%Y%m%d')return True
 except ValueError:return False

def get_latter_1_day_str(date_str):"""
 データを取得する_strの翌日の日付文字列
 : param date_str:日付文字列を指定します
 : return:指定した日付文字列の1日後の日付文字列を返します
    """
 dt = datetime.datetime.strptime(date_str,'%Y%m%d')
 one_day = datetime.timedelta(days=1)
 former_day = dt + one_day
 return former_day.strftime('%Y%m%d')

def get_latter_n_day_str(date_str, n):"""
 データを取得する_strからn日後の日付文字列
 : param date_str:日付文字列を指定します
 : return:指定された日付文字列のn日後の日付文字列を返します
    """
 dt = datetime.datetime.strptime(date_str,'%Y%m%d')
 one_day = datetime.timedelta(days=days)
 former_day = dt + one_day
 return former_day.strftime('%Y%m%d')

def get_yesterday_str():"""
 昨日の日付文字列を取得します
 : return:昨日の日付文字列を返します
    """
 today = datetime.date.today()
 one_day = datetime.timedelta(days=1)
 yesterday = today - one_day
 return yesterday.strftime('%Y%m%d')

def get_former_1_day_str(date_str):"""
 データを取得する_strの前日の日付文字列
 : param date_str:日付文字列を指定します
 : return:指定された日付文字列の前日の日付文字列を返します
    """
 dt = datetime.datetime.strptime(date_str,'%Y%m%d')
 one_day = datetime.timedelta(days=1)
 former_day = dt - one_day
 return former_day.strftime('%Y%m%d')

def get_former_n_day_str(date_str, n):"""
 データを取得する_strのn日前の日付文字列
 : param date_str:日付文字列を指定します
 : param n: number of day
 : return:指定された日付文字列のn日前の日付文字列を返します
    """
 dt = datetime.datetime.strptime(date_str,'%Y%m%d')
 n_day = datetime.timedelta(days=n)
 former_n_day = dt - n_day
 return former_n_day.strftime('%Y%m%d')

def get_universal_time():"""
 現在の時刻を取得する
 : return:現在の時刻、形式を返します:2017-08-2902:43:19"""
 t = time.gmtime()
 time_tuple =(t.tm_year, t.tm_mon, t.tm_mday, t.tm_hour, t.tm_min, t.tm_sec)
 dt = datetime.datetime(*time_tuple)return dt.strftime('%Y-%m-%d %H:%M:%S')

def datetime_to_gregorian_seconds(dt):"""
 当日の1月1日0時から0時までの経過秒数を取得します
 : param dt: datetime.日時タイプ
 : return:その日の1月1日0時からの経過秒数を返します
    """
 d = dt.date()
 t = dt.time()
 # 1月1日からの通常,erlangの日時_to_gregorian_秒と日付_to_gregorian_日は1月1日から始まります0
 # 日はカウントされないため、1日を差し引く必要があります
 return(d.toordinal()+365-1)*86400+time_to_second(t.hour, t.minute, t.second)

def time_to_second(time_h, time_m, time_s):"""
 与えられた時間によると_h, time_m, time_■1日の経過時間を秒単位で計算します
 : param time_h:時間
 : param time_m:分
 : param time_s:2番目
 : return:計算された秒を返します
    """
 returnint(time_h)*3600+int(time_m)*60+int(time_s)

def utc_time_to_second(utc_time):"""
 与えられたutcによると_timeは、その日の経過時間を秒単位で計算します
 : param utc_time:utcタイムスタンプ、1464830584に類似:return:計算された秒を返します
    """
 t = datetime.datetime.fromtimestamp(int(utc_time))return t.hour *3600+ t.minute *60+ t.second

def get_today_start_time():"""1日の開始時刻を取得する"""
	dt = datetime.datetime.combine(datetime.date.today(), datetime.time.min)return dt.strftime('%Y-%m-%d %H:%M:%S')

def get_today_end_time():"""1日の終了時刻を取得する"""
	dt = datetime.datetime.combine(datetime.date.today(), datetime.time.max)return dt.strftime('%Y-%m-%d %H:%M:%S')

def get_final_day_of_current_week():"""週の最後の日を取得する:日曜日"""
	today = datetime.date.today()
	sunday = today + datetime.timedelta(6- today.weekday())return sunday.strftime('%Y-%m-%d')

def get_final_day_of_current_month():"""月の最終日を取得します"""
	today = datetime.date.today()
	_, last_day_num = calendar.monthrange(today.year, today.month)
	last_day = datetime.date(today.year, today.month, last_day_num)return last_day.strftime('%Y-%m-%d')

def get_final_day_of_last_month():"""前月の最終日を取得します。大晦日かもしれません。timedeltaを使用する必要があります。"""
	today = datetime.date.today()
	first = datetime.date(day=1, month=today.month, year=today.year)
	final_day_of_last_month = first - datetime.timedelta(days=1)return final_day_of_last_month.strftime('%Y-%m-%d')

def get_final_day_of_current_month(year, month):"""指定された年の指定された月の最終日を取得します"""
	_, last_day_num = calendar.monthrange(year, month)return last_day_num
	# last_day = datetime.date(year, month, last_day_num)
	# return last_day.strftime('%Y-%m-%d')

Recommended Posts

Pythonタイムモジュールの一般的な操作の概要
pythonのPrettytableモジュール
09.Python3の共通モジュール
Python日時処理時間の概要
python描画モジュールのmatplotlib
Python共通モジュールのコレクション
Python関数のいくつかの一般的なモード
200のPython標準ライブラリの要約!
プライベート属性を呼び出すpythonのメソッドの概要
Pythonモジュールの知識の完全な分析
Python3モジュール
Windowsでのpython共通ライブラリのインストール
Python組み込み例外タイプの包括的な要約
pythonにdjangoモジュールをインストールする方法
Pythonの解凍に関する知識ポイントの要約
Pythonタイムモジュールを学ぶ方法
Pythonマルチプロセスプログラミングの一般的な方法の分析
Python3.9の7つの機能
python標準ライブラリOSモジュールの詳細な説明
Pythondecimalモジュールの使用法の詳細な説明
Python操作の一般的なメソッドの分析Jiraライブラリ
Pythonの基本的な要約
Pythonレッスン37-モジュール
Python2とPython3の違いの簡単な要約
Pythonプロセス制御の一般的なツールの詳細な説明
Python3組み込みモジュールの使用法
Pythonインタビューの質問の概要
Python構文の基本
Python3外部モジュールの使用
Pythonの高度な使用法の概要
Pythonの基本構文
Pythonの基礎知識(1)
ubuntuの使用法の概要