java中的日期和时区

时间:2017-08-30 18:38:53

标签: java date datetime timestamp jsondate

我目前正在以JSON格式阅读日期,如下所示:

"dates": {
    "startdate": "2017-08-29T22:00:00.000UTC";
}

在我的应用程序中,我按如下方式设置JsonFormat以便能够正确读取它:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'UTC'")
private Date startdate;

但UTC不是我想要合作的TimeZone,我应该改变什么?' UTC'能够在欧洲/巴黎地区阅读我的日期时间吗?

1 个答案:

答案 0 :(得分:2)

Alter the input to comply with the ISO 8601 standard. The pip install ipython is short for Zulu and means UTC.

Python.h

Parse as an Collecting ipython Using cached ipython-5.4.1-py2-none-any.whl Requirement already satisfied: decorator in ./site-packages (from ipython) Collecting pickleshare (from ipython) Using cached pickleshare-0.7.4-py2.py3-none-any.whl Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython) Using cached prompt_toolkit-1.0.15-py2-none-any.whl Collecting pygments (from ipython) Using cached Pygments-2.2.0-py2.py3-none-any.whl Requirement already satisfied: setuptools>=18.5 in ./site-packages (from ipython) Collecting simplegeneric>0.8 (from ipython) Collecting traitlets>=4.2 (from ipython) Using cached traitlets-4.3.2-py2.py3-none-any.whl Collecting backports.shutil-get-terminal-size; python_version == "2.7" (from ipython) Using cached backports.shutil_get_terminal_size-1.0.0-py2.py3-none-any.whl Collecting pathlib2; python_version == "2.7" or python_version == "3.3" (from ipython) Using cached pathlib2-2.3.0-py2.py3-none-any.whl Collecting pexpect; sys_platform != "win32" (from ipython) Using cached pexpect-4.2.1-py2.py3-none-any.whl Requirement already satisfied: six>=1.9.0 in ./site-packages (from prompt-toolkit<2.0.0,>=1.0.4->ipython) Collecting wcwidth (from prompt-toolkit<2.0.0,>=1.0.4->ipython) Using cached wcwidth-0.1.7-py2.py3-none-any.whl Collecting ipython-genutils (from traitlets>=4.2->ipython) Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl Requirement already satisfied: enum34; python_version == "2.7" in ./site-packages (from traitlets>=4.2->ipython) Collecting scandir; python_version < "3.5" (from pathlib2; python_version == "2.7" or python_version == "3.3"->ipython) Using cached scandir-1.5.tar.gz Collecting ptyprocess>=0.5 (from pexpect; sys_platform != "win32"->ipython) Using cached ptyprocess-0.5.2-py2.py3-none-any.whl Building wheels for collected packages: scandir Running setup.py bdist_wheel for scandir ... error Complete output from command /home/me/Documents/pypy-ipython-venv/bin/pypy -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-FmKqsi/scandir/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpseW7pdpip-wheel- --python-tag pp256: running bdist_wheel running build running build_py creating build creating build/lib.linux-x86_64-2.7 copying scandir.py -> build/lib.linux-x86_64-2.7 running build_ext building '_scandir' extension creating build/temp.linux-x86_64-2.7 cc -O2 -fPIC -Wimplicit -I/home/me/Documents/pypy-ipython-venv/include -c _scandir.c -o build/temp.linux-x86_64-2.7/_scandir.o _scandir.c:14:20: fatal error: Python.h: No such file or directory #include <Python.h> ^ compilation terminated. error: command 'cc' failed with exit status 1 ---------------------------------------- Failed building wheel for scandir Running setup.py clean for scandir Failed to build scandir Installing collected packages: scandir, pathlib2, pickleshare, wcwidth, prompt-toolkit, pygments, simplegeneric, ipython-genutils, traitlets, backports.shutil-get-terminal-size, ptyprocess, pexpect, ipython Running setup.py install for scandir ... error Complete output from command /home/me/Documents/pypy-ipython-venv/bin/pypy -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-FmKqsi/scandir/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-RqBbsa-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/me/Documents/pypy-ipython-venv/include/site/python2.7/scandir: running install running build running build_py creating build creating build/lib.linux-x86_64-2.7 copying scandir.py -> build/lib.linux-x86_64-2.7 running build_ext building '_scandir' extension creating build/temp.linux-x86_64-2.7 cc -O2 -fPIC -Wimplicit -I/home/me/Documents/pypy-ipython-venv/include -c _scandir.c -o build/temp.linux-x86_64-2.7/_scandir.o _scandir.c:14:20: fatal error: Python.h: No such file or directory #include <Python.h> ^ compilation terminated. error: command 'cc' failed with exit status 1 ---------------------------------------- Command "/home/me/Documents/pypy-ipython-venv/bin/pypy -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-FmKqsi/scandir/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-RqBbsa-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/me/Documents/pypy-ipython-venv/include/site/python2.7/scandir" failed with error code 1 in /tmp/pip-build-FmKqsi/scandir/ object.

Z

Adjust into your desired time zone.

String input =  "2017-08-29T22:00:00.000UTC".replace( "UTC" , "Z" ) ;

Avoid the Instant class as that troublesome class is now legacy, supplanted by the java.time classes.