Hướng dẫn python datetime iso format with timezone - định dạng iso datetime của python với múi giờ

Tôi cần tạo một chuỗi thời gian phù hợp với định dạng ISO

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
1. Các phương thức lớp
>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
2 và
>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
3 gần như làm những gì tôi muốn.

>>> import datetime
>>> #time adjusted for current timezone
>>> datetime.datetime.now().isoformat()
'2010-08-03T03:00:00.000000'
>>> #unadjusted UTC time
>>> datetime.datetime.utcnow().isoformat()
'2010-08-03T10:00:00.000000'
>>>
>>> #How can I do this?
>>> datetime.datetime.magic()
'2010-08-03T10:00:00.000000-07:00'

Hướng dẫn python datetime iso format with timezone - định dạng iso datetime của python với múi giờ

Danny Varod

16.8K5 Huy hiệu vàng69 Huy hiệu bạc108 Huy hiệu Đồng5 gold badges69 silver badges108 bronze badges

Hỏi ngày 3 tháng 8 năm 2010 lúc 23:13Aug 3, 2010 at 23:13

deft_codedeft_codedeft_code

55.6K28 Huy hiệu vàng140 Huy hiệu bạc222 Huy hiệu đồng28 gold badges140 silver badges222 bronze badges

Để có được thời gian hiện tại trong UTC trong Python 3.2+:

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'

Để có được thời gian địa phương trong Python 3.3+:

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).astimezone().isoformat()
'2015-01-27T06:59:17.125448+01:00'

Giải thích:

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
4 tạo ra một đối tượng Awayzone Aware
>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
5 trong thời gian UTC.
>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
6 Sau đó thay đổi múi giờ của đối tượng
>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
5, thành múi giờ của hệ thống nếu được gọi không có đối số. Timezone Aware
>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
5 Các đối tượng sau đó tự động tạo định dạng ISO chính xác.

Hướng dẫn python datetime iso format with timezone - định dạng iso datetime của python với múi giờ

Felk

7.2902 Huy hiệu vàng36 Huy hiệu bạc60 Huy hiệu Đồng2 gold badges36 silver badges60 bronze badges

Đã trả lời ngày 27 tháng 1 năm 2015 lúc 5:58Jan 27, 2015 at 5:58

4

Bạn cần làm cho các đối tượng DateTime của bạn nhận thức được. Từ tài liệu DateTime:

Có hai loại đối tượng ngày và thời gian: Từ Naive và và nhận thức. Sự khác biệt này đề cập đến việc đối tượng có bất kỳ khái niệm về múi giờ, thời gian tiết kiệm ánh sáng ban ngày hay loại điều chỉnh thời gian chính trị hoặc thuật toán khác. Cho dù một đối tượng DateTime ngây thơ đại diện cho thời gian phối hợp (UTC), thời gian địa phương hoặc thời gian trong một số múi giờ khác hoàn toàn tùy thuộc vào chương trình, giống như nó lên chương trình cho dù một số cụ thể đại diện cho mét, dặm hay khối lượng. Các đối tượng Datetime ngây thơ rất dễ hiểu và làm việc với, với chi phí bỏ qua một số khía cạnh của thực tế.

Khi bạn có một đối tượng DateTime nhận thức, bạn có thể sử dụng isoformat () và nhận đầu ra bạn cần.

Để làm cho các đối tượng DateTime của bạn nhận thức được, bạn sẽ cần phải phân lớp TZINFO, như ví dụ thứ hai ở đây hoặc đơn giản hơn - sử dụng một gói làm cho bạn, như Pytz hoặc Python -dateutil

Sử dụng PYTZ, điều này sẽ giống như:

import datetime, pytz
datetime.datetime.now(pytz.timezone('US/Central')).isoformat()

Bạn cũng có thể kiểm soát định dạng đầu ra, nếu bạn sử dụng Strftime với lệnh '%Z' như

datetime.datetime.now(pytz.timezone('US/Central')).strftime('%Y-%m-%dT%H:%M:%S.%f%z')

Đã trả lời ngày 4 tháng 8 năm 2010 lúc 0:05Aug 4, 2010 at 0:05

Ofri Ravivofri RavivOfri Raviv

23.8K3 Huy hiệu vàng54 Huy hiệu bạc55 Huy hiệu Đồng3 gold badges54 silver badges55 bronze badges

7

Với mũi tên:

>>> import arrow
>>> arrow.now().isoformat()
'2015-04-17T06:36:49.463207-05:00'
>>> arrow.utcnow().isoformat()
'2015-04-17T11:37:17.042330+00:00'

Đã trả lời ngày 17 tháng 4 năm 2015 lúc 11:45Apr 17, 2015 at 11:45

Wes Turnerwes TurnerWes Turner

1.10112 Huy hiệu bạc14 Huy hiệu đồng12 silver badges14 bronze badges

0

Bạn có thể làm điều đó trong Python 2.7+ với

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
9 (được đặt trên Mac theo mặc định):

>>> from datetime import datetime
>>> from dateutil.tz import tzlocal
>>> datetime.now(tzlocal()).isoformat()
'2016-10-22T12:45:45.353489-03:00'

Hoặc bạn nếu bạn muốn chuyển đổi từ một chuỗi được lưu trữ đã tồn tại:

>>> from datetime import datetime
>>> from dateutil.tz import tzlocal
>>> from dateutil.parser import parse
>>> parse("2016-10-21T16:33:27.696173").replace(tzinfo=tzlocal()).isoformat()
'2016-10-21T16:33:27.696173-03:00' <-- Atlantic Daylight Time (ADT) 
>>> parse("2016-01-21T16:33:27.696173").replace(tzinfo=tzlocal()).isoformat()
'2016-01-21T16:33:27.696173-04:00' <-- Atlantic Standard Time (AST)

Đã trả lời ngày 22 tháng 10 năm 2016 lúc 15:52Oct 22, 2016 at 15:52

Hướng dẫn python datetime iso format with timezone - định dạng iso datetime của python với múi giờ

Chín năm sau. Nếu bạn biết múi giờ của bạn. Tôi thích

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).astimezone().isoformat()
'2015-01-27T06:59:17.125448+01:00'
0 giữa ngày và giờ. Và nếu bạn không muốn micro giây.

Python

pip3 install pytz  # needed!

python3
>>> import datetime
>>> import pytz
>>> datetime.datetime.now(pytz.timezone('Europe/Berlin')).isoformat('T', 'seconds')
'2020-11-09T18:23:28+01:00'

Được thử nghiệm trên Ubuntu 18.04 và Python 3.6.9.


Python> = 3.9

pip3 install tzdata  # only on Windows needed!

py -3
>>> import datetime
>>> import zoneinfo
>>> datetime.datetime.now(zoneinfo.ZoneInfo('Europe/Berlin')).isoformat('T', 'seconds')
'2020-11-09T18:39:36+01:00'

Được thử nghiệm trên Windows 10 và Python 3.9.0.

Đã trả lời ngày 9 tháng 11 năm 2020 lúc 17:55Nov 9, 2020 at 17:55

Qräbnöqräbnöqräbnö

2.46626 Huy hiệu bạc37 Huy hiệu đồng26 silver badges37 bronze badges

Một cái gì đó giống như ví dụ sau. Lưu ý Tôi đang ở miền đông Australia (UTC + 10 giờ vào lúc này).

>>> from datetime import datetime, timezone
>>> datetime.now(timezone.utc).isoformat()
'2015-01-27T05:57:31.399861+00:00'
0

Đã trả lời ngày 3 tháng 8 năm 2010 lúc 23:44Aug 3, 2010 at 23:44

John Machinjohn MachinJohn Machin

79,8K11 Huy hiệu vàng138 Huy hiệu bạc185 Huy hiệu đồng11 gold badges138 silver badges185 bronze badges

4

Định dạng ISO của ngày ở Python là gì?

Trong Python ISO 8601 Ngày được biểu diễn trong định dạng Yyyy-MM-DDTHH: MM: SS.MMMMMMMM. Ví dụ, ngày 18 tháng 5 năm 2022, được biểu thị là 2022-05-18T11: 40: 22.519222.YYYY-MM-DDTHH:MM:SS. mmmmmm format. For example, May 18, 2022, is represented as 2022-05-18T11:40:22.519222.

Liệu DateTime Python có bao gồm múi giờ không?

Với mô -đun DateTime, bạn có thể nhận được ngày và giờ hiện tại hoặc ngày và giờ hiện tại trong một múi giờ cụ thể.Trong bài viết này, tôi sẽ chỉ cho bạn cách có được thời gian hiện tại trong Python với mô -đun DateTime.Tôi cũng sẽ chỉ cho bạn cách có được thời gian hiện tại ở bất kỳ thời gian nào trên thế giới.you can get the current date and time, or the current date and time in a particular time zone. In this article, I will show you how to get the current time in Python with the datetime module. I will also show you how to get the current time in any timezone of the world.

Python có phải là DateTime trong UTC không?

Bạn có thể sử dụng mô -đun DateTime để chuyển đổi DateTime thành dấu thời gian UTC trong Python.Nếu bạn đã có đối tượng DateTime trong UTC, bạn có thể dấu thời gian () để có dấu thời gian UTC.Hàm này trả về thời gian kể từ thời đại cho đối tượng DateTime đó.. If you already have the datetime object in UTC, you can the timestamp() to get a UTC timestamp. This function returns the time since epoch for that datetime object.

Là định dạng ISO UTC?

ISO 8601: Đó là một đại diện của ngày để giữ một tiêu chuẩn quốc tế và tránh khó khăn khi xử lý ngày và thời gian.UTC: Đây là tiêu chuẩn thời gian chính thức để đồng bộ hóa đồng hồ và giữ độ chính xác trong các phép đo và các hoạt động khác.It is the official time standard to synchronize the clocks and keep precision in measurements and other activities.