LoginSignup
2
3

More than 5 years have passed since last update.

新Python生活五日目(振返り)【PyQ/8章】

Last updated at Posted at 2017-11-23

分からない単語等が色々出てきますが、
ある程度目に見えた進捗がないと自分のモチベーションが保てないので、
理解度100%ではないですが今日も進んで行きます。

モジュール

使い慣れない単語です。
初心者な自分は、こーいった単語の理解だけでも結構苦しむポイントです。。

意味:
まとまりを持った機能部品・機能単位。

そいつ単体でも機能として成立しているけど、
普通は単体では動かさずに合体させて動かすよーetc・・・らしい。

PyQ的には「呼び出すだけで便利に使える処理を集めたもの」だそうです。

オブジェクト

色んなサイトで説明を読んでもあまりピンと来ない。でも必須の考え方らしい。。

datetime:日時を扱うモジュール

from datetime import datetime #datetimeモジュールのdatetimeオブジェクトを呼び出すよ
now = datetime.now() #現在日時のdatetimeオブジェクトを変数nowに代入
print(now)
出力結果
2017-11-23 20:09:33.XXXXXX #年月日、時間、マイクロミリ秒までを表示

モジュールだけ呼び出す

import datetime #datetimeモジュールを呼び出す
print(datetime.date.today()) #今日の日付だけ表示させる
出力結果
2017-11-23

モジュールの中の特定のオブジェクトだけを呼び出す

  • date : 年月日
  • time : 時分秒、マイクロミリ秒
  • datetime : 日付、時刻
  • timedelta : 日付、時刻の間隔
from datetime import date #datetimeモジュールのdateオブジェクトを呼び出す
print(date.today())
出力結果
2017-11-23

日時を表示

from datetime import datetime

now = datetime.now()
print(str(now.year) + '年')
print(str(now.month) + '月')
print(str(now.day) + '日')
print(str(now.hour) + '時')
print(str(now.minute) + '分')
print(str(now.secind) + '秒')
出力結果
2017年
11月
23日
20時
9分
33秒

日時の作成

指定日時

from datetime import datetime

a_datetime = datetime(2017, 7, 20, 15, 45, 30) #時間を指定しないと00:00:00となる
print(a_datetime)
出力結果
2017-07-20 15:45:30

日時を文字列に変換

from datetime import datetime

a_day = datetime(2017, 7, 20, 15, 45, 30)
b_day = a_day.strftime('%Y-%m-%d %H:%M:%S')
print(b_day)
出力結果
2017-07-20 15:45:30

strftime:引数として指定したいフォーマットを入力して日付型から文字列へ変換する。

 %Y:西暦(4桁)の10進表記
 %m:0埋めした10進数で表記
 %d:0埋めした10進数で表記した日にち
 %H:0埋めした10進数で表記した時(24h表記)
 %M:0埋めした10進数で表記した分
 %S:0埋めした10進数で表記した秒

文字列を日時に変換

from datetime import datetime

c_day = '2017年2月1日'
s_day = datetime.strptime(c_day, '%Y年%m月%d日')
print(s_day)
出力結果
2017-02-01 00:00:00

strptime:一つ目の引数には変換したい文字列、二つ目の引数にはフォーマットを表す文字列
     指定して文字列から日付型へ変換する。

日付の計算

例えば11月23日の8日後とか、15日前とかの値を利用したいなって時に
先に出てきて良く分かっていないヤツ・・・
datetimeモジュールのtimedeltaオブジェクトってのを使用するみたいです

from datetime import detetime
from datetime import timedelta #このよく分からないヤツも含めて2つ使うのね。

ano_hi = datetime(2017, 11, 23) #基準となる日
before_15days = ano_hi - timedelta(days=15) #15日前っていつかなー
after_8days = ano_hi + timedelta(days=8) #8日後っていつかなー

print(before_15days.strftime('%Y-%m-%d'))
print(after_8days.strftime('%Y-%m-%d'))
出力結果
2017-11-8
2017-12-1
2
3
0

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
2
3