仮想マシンのCentOS7だと以下のように正しくパースできるのですが、
[root@centos7-vm01 ~]# python Python 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from datetime import datetime >>> data_string = '3/19/19 4:35:00 PM JST' >>> format = '%m/%d/%y %I:%M:%S %p %Z' >>> datetime.strptime(data_string, format) datetime.datetime(2019, 3, 19, 16, 35) >>>
DockerコンテナのCentOS7だとパースエラーとなってしまいます。
[root@ed72b9566ecf app]# python Python 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from datetime import datetime >>> data_string = '3/19/19 4:35:00 PM JST' >>> format = '%m/%d/%y %I:%M:%S %p %Z' >>> datetime.strptime(data_string, format) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python2.7/_strptime.py", line 325, in _strptime (data_string, format)) ValueError: time data '3/19/19 4:35:00 PM JST' does not match format '%m/%d/%y %I:%M:%S %p %Z' >>>
何が原因と考えられるでしょうか。。
各マシンのシェル上で「timedatectl」コマンドを実行した結果を追記ください。
仮想マシン上は以下となりまして、
```
Local time: Tue 2019-04-09 12:10:23 JST
Universal time: Tue 2019-04-09 03:10:23 UTC
RTC time: Tue 2019-04-09 03:10:23
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
```
コンテナの方は、このようになりました。
```
[root@e56381db4b00 app]# timedatectl
Failed to create bus connection: No such file or directory
```
時刻や、タイムゾーンに関する設定が必要な感じでしょうか。。
似たような、事例っぽいやつ。
https://bugs.python.org/issue22377
同じ情報を見つけられたようですね。
ちょうど今、こちらの環境での検証動作と合わせて回答しました。
回答3件
あなたの回答
tips
プレビュー