回答編集履歴
2
誤字修正
answer
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
```
|
27
27
|
を
|
28
28
|
```
|
29
|
-
sql = u"insert into sensor values(str_to_date('%s', '%%Y-%%m-%%d %%H:%%i:%%S') ,%s,%s,%s)"%(datetime.now().strftime('%Y-%m-%d %H:%M:
|
29
|
+
sql = u"insert into sensor values(str_to_date('%s', '%%Y-%%m-%%d %%H:%%i:%%S') ,%s,%s,%s)"%(datetime.now().strftime('%Y-%m-%d %H:%M:00'),value,t,h)
|
30
30
|
```
|
31
31
|
|
32
32
|
のような書き方をすればよいかもしれません。
|
@@ -37,7 +37,7 @@
|
|
37
37
|
他に format文字列というのもあり、そちらだと
|
38
38
|
|
39
39
|
```
|
40
|
-
sql = u"insert into sensor values(str_to_date('{}', '%Y-%m-%d %H:%i:%S') ,{},{},{})".format(datetime.now().strftime('%Y-%m-%d %H:%M:
|
40
|
+
sql = u"insert into sensor values(str_to_date('{}', '%Y-%m-%d %H:%i:%S') ,{},{},{})".format(datetime.now().strftime('%Y-%m-%d %H:%M:00'),value,t,h)
|
41
41
|
```
|
42
42
|
|
43
43
|
のように若干すっきり書けます。
|
1
コメントでやり取りした内容のまとめ
answer
CHANGED
@@ -12,12 +12,32 @@
|
|
12
12
|
datetime.now().strftime('%Y-%m-%d %H:%M:00')
|
13
13
|
```
|
14
14
|
のようになります。
|
15
|
+
出力は文字列です。
|
16
|
+
詳しくはpythonのstrftimeで利用できる[format](https://docs.python.jp/3/library/datetime.html#strftime-strptime-behavior)を見てください。
|
15
17
|
|
18
|
+
一方、MySQLでは、文字列で受け取った時刻データをdatetime型としてデータベースに保存するには、
|
19
|
+
[str_to_date()](https://dev.mysql.com/doc/refman/5.6/ja/date-and-time-functions.html) というMySQLの関数を利用する必要があります。
|
20
|
+
|
21
|
+
それを踏まえると
|
22
|
+
|
23
|
+
|
16
24
|
```
|
17
25
|
sql = u"insert into sensor values(now(), %s,%s,%s)"%(value,t,h)
|
18
26
|
```
|
19
27
|
を
|
20
28
|
```
|
21
|
-
sql = u"insert into sensor values(%s, %s,%s,%s)"%(datetime.now().strftime('%Y-%m-%d %H:%M:
|
29
|
+
sql = u"insert into sensor values(str_to_date('%s', '%%Y-%%m-%%d %%H:%%i:%%S') ,%s,%s,%s)"%(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),value,t,h)
|
22
30
|
```
|
31
|
+
|
23
|
-
のような書き方をすればよいかもしれません。
|
32
|
+
のような書き方をすればよいかもしれません。
|
33
|
+
( %%H:%%i:%%S の代わりに %%Tが使えるかもしれません)
|
34
|
+
|
35
|
+
今回は%記法を利用しているため、 Python文字列中で%を使うために%%と二重に記載する必要があります。
|
36
|
+
|
37
|
+
他に format文字列というのもあり、そちらだと
|
38
|
+
|
39
|
+
```
|
40
|
+
sql = u"insert into sensor values(str_to_date('{}', '%Y-%m-%d %H:%i:%S') ,{},{},{})".format(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),value,t,h)
|
41
|
+
```
|
42
|
+
|
43
|
+
のように若干すっきり書けます。
|