回答編集履歴

2

表示結果にコメントを追加

2017/10/05 10:22

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  naive : 2017-10-05 12:55:08.247556
70
70
 
71
- naive as UTC: 2017-10-05 12:55:08.247556+00:00
71
+ naive as UTC: 2017-10-05 12:55:08.247556+00:00 # ← 誤り
72
72
 
73
73
  aware/UTC : 2017-10-05 03:55:08.247566+00:00
74
74
 
@@ -78,7 +78,7 @@
78
78
 
79
79
  naive -> TS: 1507175708.247556
80
80
 
81
- naive as UTC -> TS: 1507208108.247556
81
+ naive as UTC -> TS: 1507208108.247556 # ← 誤り
82
82
 
83
83
  aware/UTC -> TS: 1507175708.247566
84
84
 
@@ -90,7 +90,7 @@
90
90
 
91
91
  naive -> TS -> aware: 2017-10-05 03:55:08.247556+00:00
92
92
 
93
- naive as UTC -> TS -> aware: 2017-10-05 12:55:08.247556+00:00
93
+ naive as UTC -> TS -> aware: 2017-10-05 12:55:08.247556+00:00 # ← 誤り
94
94
 
95
95
  ```
96
96
 
@@ -108,11 +108,11 @@
108
108
 
109
109
 
110
110
 
111
- 追記:
111
+ ほかの方の回答を見て追記:
112
112
 
113
113
 
114
114
 
115
- あ。`**日付**のエポック秒` というのはその日の 00:00:00 のUNIX時間を取得したいということですか?もしそうなら時間、分、秒を切り捨てるだけでOKです。
115
+ あ。`**日付**のエポック秒` というのはその日の 00:00:00 のUNIX時間を取得したいということですか?もしそうなら時間、分、秒、ミリ秒を切り捨てればOKです。
116
116
 
117
117
 
118
118
 

1

日付のタイムスタンプについて追記

2017/10/05 10:22

投稿

miyahan
miyahan

スコア3095

test CHANGED
@@ -101,3 +101,37 @@
101
101
 
102
102
 
103
103
  今回は、`datetime.today()` で naive オブジェクトを作ったのがJST環境、それを `datetime.timestamp()` でUNIX時間に変換したのもJST環境だったのでたまたまうまくいっていますが、複数のタイムゾーンや夏時間がある国のタイムゾーンを取り扱う場合は、aware オブジェクトを使うことをおすすめします。
104
+
105
+
106
+
107
+ ---
108
+
109
+
110
+
111
+ 追記:
112
+
113
+
114
+
115
+ あ。`**日付**のエポック秒` というのはその日の 00:00:00 のUNIX時間を取得したいということですか?もしそうなら時間、分、秒を切り捨てるだけでOKです。
116
+
117
+
118
+
119
+ ```python
120
+
121
+ today = datetime(
122
+
123
+ *datetime.today().timetuple()[:3], # 年、月、日のみ抽出
124
+
125
+ tzinfo=pytz.timezone('Asia/Tokyo'))
126
+
127
+ print('now :', datetime.now(pytz.timezone('Asia/Tokyo')).timestamp())
128
+
129
+ print('today:', today.timestamp())
130
+
131
+
132
+
133
+ # now : 1507176685.737086
134
+
135
+ # today: 1507128060.0
136
+
137
+ ```