teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/03/26 06:10

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -33,4 +33,42 @@
33
33
  ```
34
34
 
35
35
  Twitter APIやSQLの機能を用いてもっと簡単に書く余地があるかもしれませんが。
36
- あるいはtimeオブジェクトを経由した方が良いかも。
36
+ あるいはtimeオブジェクトを経由した方が良いかも。
37
+
38
+ コメントを受けて
39
+ ---
40
+ 読み込んで → タイムゾーンを修正 → 出力 とかですかね。
41
+ ```Python
42
+ from datetime import datetime
43
+
44
+ tweet = {
45
+ 'create_at': 'Fri Mar 23 05:26:17 +0000 2018'
46
+ }
47
+
48
+ dt = datetime.strptime(
49
+ tweet['create_at'], '%a %b %d %H:%M:%S %z %Y'
50
+ )
51
+ dt = dt.astimezone()
52
+
53
+ dst = datetime.strftime(
54
+ dt, '%Y-%m-%d %H:%M:%S'
55
+ )
56
+
57
+ print(dst, type(dst))
58
+ ```
59
+
60
+ 上記のconvert_date_format関数に放り込んでもいいっちゃいいです。
61
+ ```Python
62
+ def make_convert_date_format(src_format, dst_format):
63
+ def convert_date_format(s):
64
+ return datetime.strftime(
65
+ datetime.strptime(
66
+ s, src_format
67
+ ).astimezone(),
68
+ dst_format
69
+ )
70
+
71
+ return convert_date_format
72
+ ```
73
+
74
+ ただ、そうなると関数の役割が肥大化していくので悩みどころ。