Hướng dẫn how to convert datetime string to datetime in python? - làm cách nào để chuyển đổi chuỗi ngày giờ thành ngày giờ trong python?

Nhiều dấu thời gian có một múi giờ ngụ ý. Để đảm bảo rằng mã của bạn sẽ hoạt động trong mỗi múi giờ, bạn nên sử dụng UTC trong nội bộ và đính kèm múi giờ mỗi khi một đối tượng nước ngoài vào hệ thống.

Python 3.2+:

>>> datetime.datetime.strptime(
...     "March 5, 2014, 20:13:50", "%B %d, %Y, %H:%M:%S"
... ).replace(tzinfo=datetime.timezone(datetime.timedelta(hours=-3)))

Điều này giả định bạn biết sự bù đắp. Nếu bạn không, nhưng bạn biết, ví dụ: Vị trí, bạn có thể sử dụng gói

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
5 để truy vấn cơ sở dữ liệu múi giờ IANA cho phần bù. Tôi sẽ sử dụng Tehran ở đây làm ví dụ vì nó có phần bù nửa giờ:

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)

Như bạn có thể thấy,

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
5 đã xác định rằng phần bù là +3: 30 vào ngày cụ thể đó. Bây giờ bạn có thể chuyển đổi điều này thành thời gian UTC và nó sẽ áp dụng phần bù:

>>> utc_time = local_time.astimezone(pytz.utc)
>>> utc_time
datetime.datetime(2014, 3, 5, 16, 43, 50, tzinfo=)

Lưu ý rằng ngày trước khi áp dụng thời gian sẽ mang lại cho bạn sự bù đắp kỳ lạ. Điều này là do IANA đã quyết định sử dụng thời gian trung bình địa phương:

>>> chicago = pytz.timezone("America/Chicago")
>>> weird_time = chicago.localize(
...   datetime.datetime.strptime("November 18, 1883, 11:00:00",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> weird_time.astimezone(pytz.utc)
datetime.datetime(1883, 11, 18, 7, 34, tzinfo=)

"7 giờ 34 phút" kỳ lạ có nguồn gốc từ kinh độ của Chicago. Tôi đã sử dụng dấu thời gian này vì nó là đúng trước khi thời gian tiêu chuẩn được áp dụng ở Chicago.

Định dạng ngày Python

Strptime trong Python là gì?

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
7 method, in its
>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
8 class, to convert a string representation of the​ date/time into a date object.

Hàm strptime () trong python được sử dụng để định dạng và trả về một biểu diễn chuỗi ngày và giờ. Nó mất vào ngày, thời gian hoặc cả hai dưới dạng đầu vào và phân tích cú pháp nó theo các chỉ thị được đưa ra cho nó.

Sự khác biệt giữa Strftime và Strptime trong Python là gì?

Strptime là viết tắt cho "thời gian phân tích" trong đó thời gian dành cho "thời gian định dạng". Đó là, Strptime là đối nghịch của thời gian sử dụng mặc dù họ sử dụng, thuận tiện, cùng một đặc điểm kỹ thuật định dạng.

Đội câu trả lời giáo dục

from datetime import datetime

date_time_str = '18/09/19 01:55:19'

date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M:%S')

print ("The type of the date is now", type(date_time_obj))

print ("The date is", date_time_obj)

Python cung cấp phương thức

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
7, trong lớp
>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
8 của nó, để chuyển đổi biểu diễn chuỗi của ngày/giờ thành đối tượng ngày.

from datetime import datetime

date_time_str = '180919 015519'

date_time_obj = datetime.strptime(date_time_str, '%d/%m/%y %H:%M:%S')

print ("The type of the date is now", type(date_time_obj))

print ("The date is", date_time_obj)

Hướng dẫn how to convert datetime string to datetime in python? - làm cách nào để chuyển đổi chuỗi ngày giờ thành ngày giờ trong python?

Phương thức Strptime () có sẵn trong các mô -đun DateTime và Time để phân tích chuỗi vào các đối tượng DateTime và Time.strptime() method is available under datetime and time modules to parse the string to datetime and time objects.

Để chuyển đổi chuỗi thành DateTime trong Python, hãy sử dụng phương thức Strptime (). Strptime () là một phương thức tích hợp của lớp DateTime được sử dụng để chuyển đổi biểu diễn chuỗi của ngày/thời gian sang đối tượng DateTime.string to datetime in Python, use the strptime() method. The strptime() is a built-in method of datetime class used to convert a string representation of the​ date/time to a datetime object.

Cú pháp

datetime.strptime(date_string, format)

Thông số

Hàm strptime () có cả các đối số bắt buộc và nên là một chuỗi. Hàm strptime () hoàn toàn đối diện với hàm strftime (), chuyển đổi một đối tượng DateTime thành một chuỗi.

Thí dụ

# app.py

from datetime import datetime

dt_str = '27/10/20 05:23:20'

dt_obj = datetime.strptime(dt_str, '%d/%m/%y %H:%M:%S')

print("The type of the date is now",  type(dt_obj))
print("The date is", dt_obj)

Đầu ra

The type of the date is now 
The date is 2020-10-27 05:23:20

DateTime.strptime () là một phương thức chung để phân tích các chuỗi vào các dữ liệu. Nó có thể xử lý tất cả các loại định dạng, với định dạng được xác định bởi chuỗi định dạng bạn đưa ra.datetime.strptime() is a general method for parsing strings into datetimes. It can handle all sorts of formats, with the format defined by the format string you give.

Chuyển đổi chuỗi thành DateTime bằng DateUtil

DateUtil có thể được cài đặt từ PYPI bằng Trình quản lý gói PIP. Nhập gói DateUtil và sử dụng mô -đun phân tích cú pháp để chuyển đổi chuỗi thành DateTime.dateutil can be installed from PyPI using the pip package manager. Import the dateutil package and use the parser module to convert string to datetime.

# app.py

from dateutil import parser

dt_str = '27/10/20 05:23:20'

dt_obj = parser.parse(dt_str)

print("The type of the date is now",  type(dt_obj))
print("The date is", dt_obj)

Đầu ra

The type of the date is now 
The date is 2020-10-27 05:23:20

Chuỗi python cho đến ngày đối tượngString to date object

Để chuyển đổi chuỗi đến ngày đối tượng trong python, & nbsp; sử dụng hàm date () với hàm strptime ().strptime() function.

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
1

Đầu ra

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
2

Hàm strptime () sẽ không hoạt động nếu đối số chuỗi không phù hợp với tham số định dạng.

Cách đặt Locale trong Python

Để đặt locale trong Python, hãy nhập gói địa phương trong chương trình của bạn và sau đó sử dụng phương thức Locale.setLocale () để đặt Locale.set a locale in Python, import the locale package in your program and then use the locale.setlocale() method to set the locale.

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
3

Đầu ra

>>> tehran = pytz.timezone("Asia/Tehran")
>>> local_time = tehran.localize(
...   datetime.datetime.strptime("March 5, 2014, 20:13:50",
...                              "%B %d, %Y, %H:%M:%S")
... )
>>> local_time
datetime.datetime(2014, 3, 5, 20, 13, 50, tzinfo=)
4

Đó là nó để chuyển đổi một chuỗi thành DateTime trong một bài viết của Python.

Xem thêm

Python DateTime to String

Định dạng ngày Python

Strptime trong Python là gì?

Hàm strptime () trong python được sử dụng để định dạng và trả về một biểu diễn chuỗi ngày và giờ.Nó mất vào ngày, thời gian hoặc cả hai dưới dạng đầu vào và phân tích cú pháp nó theo các chỉ thị được đưa ra cho nó.used to format and return a string representation of date and time. It takes in the date, time, or both as an input, and parses it according to the directives given to it.

Sự khác biệt giữa Strftime và Strptime trong Python là gì?

Strptime là viết tắt cho "thời gian phân tích" trong đó thời gian dành cho "thời gian định dạng".Đó là, Strptime là đối nghịch của thời gian sử dụng mặc dù họ sử dụng, thuận tiện, cùng một đặc điểm kỹ thuật định dạng.. That is, strptime is the opposite of strftime though they use, conveniently, the same formatting specification.