『Pythonノート』初歩学習:入門進級、基礎編
6838 ワード
目次
一、取得時間、日付
1.現在のタイムスタンプのフォーマットを取得
2.現在時刻、yyyy-MM-dd hh:mm:ss形式を取得
3.現在の日付と時刻を取得し、タイムスタンプをローカルの日付と時刻にフォーマットする
4.現在の日付と時刻の取得
5.現在の日付と時刻を取得し、datetimeは文字列を回転する
6.現在の日付の取得
7.昨日の現在時刻を取得
8.昨日指定した時間を取得
9.取得前週(取得前7日間の期間、今日を除く)
10.前月の期間(前月の初日から前月の最終日)を取得
二、日付フォーマットの変換
1.アメリカン日付変換
2.UTC形式のローカル時間
3.文字列回転datetime
4.datetime回転文字列
三、文字列の切り取り
1.「下付き」に従って切り取ります.
2.「含む文字」に基づいて切り取ります.
四、文字列フォーマット関数str.format()
一、取得時間、日付
1.現在のタイムスタンプのフォーマットを取得
書式:1578879320.382141
2.現在時刻、yyyy-MM-dd hh:mm:ss形式を取得
フォーマット:2020-01-13 09:39:20
strftime(format[,tuple])->stringが指定するstruct_time(デフォルトは現在の時間)、
指定したフォーマット文字列に基づいてpythonの時刻日付フォーマット記号を出力します.
%y 2桁の年表示(00-99)
%Y 4桁の年表示(000-9999)
%m月(01-12)
%d月内の1日(0-31)
%H 24時間制時間数(0-23)
%I 12時間制時間数(01-12)
%M分(00=59)
%S秒(00-59)
%aローカル簡略化曜日名
%Aローカルフルタイム曜日名
%bローカル簡略化された月名
%Bローカル完全月名
%cローカル対応の日付表示と時間表示
%j年間の1日(001-366)
%pローカルA.M.またはP.M.の等価子
%U年間の曜日(00-53)日曜日が曜日の始まり
%w曜日(0-6)、日曜日は曜日の開始
%W年間の曜日(00-53)月曜日が週の始まり
%xローカル対応の日付表示
%Xローカル対応時間表示
%Z現在のタイムゾーンの名前
%%番号自体
3.現在の日付と時刻を取得し、タイムスタンプをローカルの日付と時刻にフォーマットする
書式:time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=9, tm_min=36, tm_sec=44, tm_wday=0, tm_yday=13, tm_isdst=0)
4.現在の日付と時刻の取得
フォーマット:2020-01-13 09:45:06.057097
5.現在の日付と時刻を取得し、datetimeは文字列を回転する
フォーマット:2020-01-13 09:48:22
6.現在の日付の取得
フォーマット:2020-01-13
7.昨日の現在時刻を取得
8.昨日指定した時間を取得
9.取得前週(取得前7日間の期間、今日を除く)
フォーマット:2020-01-06 00:00---2020-01-12 23:59:59
10.前月の期間(前月の初日から前月の最終日)を取得
フォーマット:2019-12-01 00:00---2019-12-31 23:59:59
二、日付フォーマットの変換
1.アメリカン日付変換
フォーマット:October 11,2019回転2019-10-11
2.UTC形式のローカル時間
フォーマット:2019-10-10 T 21:03:10.00 Z回転2019-10-11 05:03:10
3.文字列回転datetime
フォーマット:2019-01-12 09:52:40
4.datetime回転文字列
フォーマット:2020-01-13 09:48:22
三、文字列の切り取り
1.「下付き」に従って切り取ります.
次のように印刷します.
スライス切り取り
式:str[begin:end:step]
str:文字列/リスト
begin:スライスの開始位置.デフォルトは0
end:スライスのカットオフ位置.デフォルトは-1で、-1が含まれています.
Step:スライスの間隔.Stepは0にできません.デフォルトは1です(0より大きい場合は左から右へ、0より小さい場合は右から左へ)
2.「含む文字」に基づいて切り取ります.
次のように印刷します.
四、文字列フォーマット関数str.format()
一、取得時間、日付
1.現在のタイムスタンプのフォーマットを取得
2.現在時刻、yyyy-MM-dd hh:mm:ss形式を取得
3.現在の日付と時刻を取得し、タイムスタンプをローカルの日付と時刻にフォーマットする
4.現在の日付と時刻の取得
5.現在の日付と時刻を取得し、datetimeは文字列を回転する
6.現在の日付の取得
7.昨日の現在時刻を取得
8.昨日指定した時間を取得
9.取得前週(取得前7日間の期間、今日を除く)
10.前月の期間(前月の初日から前月の最終日)を取得
二、日付フォーマットの変換
1.アメリカン日付変換
2.UTC形式のローカル時間
3.文字列回転datetime
4.datetime回転文字列
三、文字列の切り取り
1.「下付き」に従って切り取ります.
2.「含む文字」に基づいて切り取ります.
四、文字列フォーマット関数str.format()
一、取得時間、日付
1.現在のタイムスタンプのフォーマットを取得
書式:1578879320.382141
import time
print(time.time())
2.現在時刻、yyyy-MM-dd hh:mm:ss形式を取得
フォーマット:2020-01-13 09:39:20
import time
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
strftime(format[,tuple])->stringが指定するstruct_time(デフォルトは現在の時間)、
指定したフォーマット文字列に基づいてpythonの時刻日付フォーマット記号を出力します.
%y 2桁の年表示(00-99)
%Y 4桁の年表示(000-9999)
%m月(01-12)
%d月内の1日(0-31)
%H 24時間制時間数(0-23)
%I 12時間制時間数(01-12)
%M分(00=59)
%S秒(00-59)
%aローカル簡略化曜日名
%Aローカルフルタイム曜日名
%bローカル簡略化された月名
%Bローカル完全月名
%cローカル対応の日付表示と時間表示
%j年間の1日(001-366)
%pローカルA.M.またはP.M.の等価子
%U年間の曜日(00-53)日曜日が曜日の始まり
%w曜日(0-6)、日曜日は曜日の開始
%W年間の曜日(00-53)月曜日が週の始まり
%xローカル対応の日付表示
%Xローカル対応時間表示
%Z現在のタイムゾーンの名前
%%番号自体
3.現在の日付と時刻を取得し、タイムスタンプをローカルの日付と時刻にフォーマットする
書式:time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=9, tm_min=36, tm_sec=44, tm_wday=0, tm_yday=13, tm_isdst=0)
import time
print(time.localtime(time.time()))
4.現在の日付と時刻の取得
フォーマット:2020-01-13 09:45:06.057097
import datetime
print(datetime.datetime.now())
5.現在の日付と時刻を取得し、datetimeは文字列を回転する
フォーマット:2020-01-13 09:48:22
import datetime
#
now_datetime = datetime.datetime.now()
print(now_datetime.strftime('%Y-%m-%d %H:%M:%S'))
6.現在の日付の取得
フォーマット:2020-01-13
import datetime
print(datetime.datetime.now().strftime('%Y-%m-%d'))
7.昨日の現在時刻を取得
import datetime
# 2020-01-13 10:14:06.538507
# 1 (1 day, 0:00:00)
one_day = datetime.timedelta(days=1)
# (2020-01-12 10:14:06.538507)
y_now = datetime.datetime.now() - one_day
8.昨日指定した時間を取得
import datetime
# 2020-01-13 10:14:06.538507
# 1 (1 day, 0:00:00)
one_day = datetime.timedelta(days=1)
#
y_now = datetime.datetime.now() - one_day
# 0 0 0 (2020-01-12 00:00:00)
y_date = datetime.datetime(y_now.year, y_now.month, y_now.day, 0, 0, 0)
9.取得前週(取得前7日間の期間、今日を除く)
フォーマット:2020-01-06 00:00---2020-01-12 23:59:59
import datetime
# 2020-01-13 10:36:27.432142
# 1 (1 day, 0:00:00)
one_day = datetime.timedelta(days=d.isoweekday())
# (2020-01-12 10:36:27.432142)
y_now = d - one_day
# 6 (6 days, 0:00:00)
six_day = datetime.timedelta(days=6)
# 6 (2020-01-06 10:36:27.432142)
six_now = y_now - six_day
# 6 0 0 0 (2020-01-06 00:00:00)
date_from = datetime.datetime(six_now.year, six_now.month, six_now.day, 0, 0, 0)
# 23 59 59 (2020-01-12 23:59:59)
date_to = datetime.datetime(y_now.year, y_now.month, y_now.day, 23, 59, 59)
# 7 ,
print('---'.join([str(date_from), str(date_to)]))
10.前月の期間(前月の初日から前月の最終日)を取得
フォーマット:2019-12-01 00:00---2019-12-31 23:59:59
import datetime
# 2020-01-13 10:53:28.794019
# (13 days, 0:00:00)
day_count = datetime.timedelta(days=d.day)
# (2019-12-31 10:53:28.794019)
l_month = d - day_count
# (2019-12-01 00:00:00)
date_from = datetime.datetime(l_month.year, l_month.month, 1, 0, 0, 0)
# (2019-12-31 23:59:59)
date_to = datetime.datetime(l_month.year, l_month.month, l_month.day, 23, 59, 59)
# # 2019-12-01 00:00:00 --- 2019-12-31 23:59:59
print(' --- '.join([str(date_from), str(date_to)]))
二、日付フォーマットの変換
1.アメリカン日付変換
フォーマット:October 11,2019回転2019-10-11
import time
def trans_format(self, datetime):
time_struct = time.strptime(datetime, '%B %d, %Y')
times = time.strftime('%Y-%m-%d', time_struct)
return times
#
datetime = self.trans_format(times)
print(datetime)
2.UTC形式のローカル時間
フォーマット:2019-10-10 T 21:03:10.00 Z回転2019-10-11 05:03:10
import datetime
utc = "2019-10-10T21:03:10.000Z"
UTC_FORMAT = "%Y-%m-%dT%H:%M:%S.%fZ"
utcTime = datetime.datetime.strptime(utc, UTC_FORMAT)
localtime = utcTime + datetime.timedelta(hours=8)
print(localtime)
3.文字列回転datetime
フォーマット:2019-01-12 09:52:40
import datetime
str = '2019-01-12 09:52:40'
time = datetime.datetime.strptime(str, '%Y-%m-%d %H:%M:%S')
print(time)
4.datetime回転文字列
フォーマット:2020-01-13 09:48:22
import datetime
#
now_datetime = datetime.datetime.now()
print(now_datetime.strftime('%Y-%m-%d %H:%M:%S'))
三、文字列の切り取り
1.「下付き」に従って切り取ります.
str = " , "
# 1. 1 4
print(str[0:4])
# 2.
print(str[:])
# 3. 7 1 , 1 ,
print(str[6:])
# 4. 1 3 , 1 ,
print(str[:-3])
# 5. 3
print(str[2])
# 6. 1
print(str[-1])
# 7.
print(str[::-1])
# 8. 3 1 , 3 ,
print(str[-3:-1])
# 9. 3 1 , 3 ,
print(str[-3:])
# 10. , ( 1 8 ), 2
print(str[0:8:2])
次のように印刷します.
1:
2: ,
3:
4: ,
5:
6:
7: ,
8:
9:
10:
スライス切り取り
式:str[begin:end:step]
str:文字列/リスト
begin:スライスの開始位置.デフォルトは0
end:スライスのカットオフ位置.デフォルトは-1で、-1が含まれています.
Step:スライスの間隔.Stepは0にできません.デフォルトは1です(0より大きい場合は左から右へ、0より小さい場合は右から左へ)
2.「含む文字」に基づいて切り取ります.
str = "[' , ']"
# 1. ['
print(str.split("['")[-1])
# 2. ']
print(str.split("']")[0])
# 3. [' ']
print(str.split("['")[-1].split("']")[0])
次のように印刷します.
1: , ']
2:[' ,
3: ,
四、文字列フォーマット関数str.format()
#
print(" :{}, :{}".format(" ", " "))
#
print(" :{name}, {adress}".format(name=" ", adress=" "))
#
site = {"name": " ", "adress": " "}
print(" :{name}, :{adress}".format(**site))
# ,"0"
arr = [' ', ' ']
print(" :{0[0]}, :{0[1]}".format(arr))
#
~ ~ ~ ~