CÔNG CỤ
MODULES
THAM KHẢO
Cách chia List thành các phần bằng nhau trong Python Cách xóa một khóa (key) ra khỏi dictionary trong Python Hướng dẫn chuyển đổi file Google Colab sang Markdown trong Python Bài tập Python: Lập trình cơ sở dữ liệu trong Python Kết nối cơ sở dữ liệu MySQL Python Hướng dẫn kết nối Python PostgreSQL bằng Psycopg2 Hướng dẫn kết nối SQLite sử dụng sqlite3 trong Python Bài tập Python : Pandas trong Python Phạm vi số float của Python Cách lên lịch chạy script Python bằng GitHub Actions Cách tạo hằng số trong Python Các nền tảng lưu trữ tốt nhất cho ứng dụng và script Python 6 Tip viết vòng lặp For hiệu quả hơn trong Python Cách đảo ngược Chuỗi String trong Python Cách gỡ lỗi ứng dụng Python trong Docker Container bằng VS Code 10 tip One Liner bạn cần biết trong Python Cách áp dụng ngưỡng hình ảnh trong Python với NumPy Tìm hiểu về các phép toán Groupby trong Pandas Lập trình Socket trong Python Mô-đun base64 trong Python Cách giới hạn float values trong Python Tìm hiểu Mô-đun statistics Trong Python File Organizing trong Python Đổi tên File trong Python Tìm hiểu về Deque trong Python Mô-đun Calendar trong Python Tìm hiểu về Enum trong Python Sử dụng pprint trong Python Làm việc với cấu trúc Dữ liệu Stack trong Python Thư viện functools trong Python Tip sử dụng hàm round() với tham số âm trong Python Hàm print có thể nhận thêm các tham số bổ sung trong Python Tip tìm chuỗi dài nhất bằng hàm max() trong Python Cách lặp qua nhiều list với hàm zip() trong Python Tìm hiểu về MLOps trong Python Docker và Kubernetes với MLOps trong Python Kết hợp DevOps với MLOps trong Python Xử lý độ chính xác các hàm floor, ceil, round, trunc, format trong Python tối ưu quy trình MLOps Với Python Sự khác biệt giữa byte objects và string trong Python Top 4 thư viện phổ biến nhất của NLP trong Python Cách sử dụng ThreadPoolExecutor trong Python Phân tích dữ liệu Blockchain với Python Hướng dẫn triển khai Smart Contracts với Python Blockchain APIs với Python Làm việc với file ZIP trong Python Sự khác biệt giữa toán tử == và is trong Python Chuyển đổi kiểu dữ liệu trong Python Cách làm việc với file tarball/tar trong Python Sự khác biệt giữa iterator và iterable trong Python Sự khác biệt giữa set() và frozenset() trong Python Làm việc với các biến môi trường trong Python Một tác vụ phổ biến khi làm việc với danh sách trong Python Định dạng chuỗi Strings trong Python Sử dụng Poetry để quản lý dependencies trong Python Sự khác biệt giữa sort() và sorted() trong Python Từ khóa yield trong Python Lớp dữ liệu (Data Classes) trong Python với decorator @dataclass Cách truy cập và thiết lập biến môi trường trong Python Hướng dẫn toàn diện về module datetime trong Python Hướng dẫn xây dựng Command-Line Interface (CLI) bằng Quo trong Python Sử dụng Virtual Environment trong Python Từ khóa super() trong Python Số phức trong Python Ý nghĩa của một hoặc hai dấu gạch dưới đứng đầu trong Python Làm việc với Video trong OpenCV bằng Python Chỉnh sửa file trực tiếp bằng module fileinput trong Python Hướng dẫn cách chuyển đổi kiểu dữ liệu trong Python Làm việc với hình ảnh trong OpenCV sử dụng Python Metaclasses trong Python Cách chọn ngẫu nhiên một phần tử từ danh sách trong Python Hướng dẫn cài đặt và sử dụng OpenCV trong Python Phạm vi toàn cục, cục bộ và không cục bộ trong Python Tìm hiểu về từ khóa self trong các lớp Python Hướng dẫn sử dụng Rich, Typer, và SQLite trên terminal bằng Python Giới thiệu về Graph Machine Learning trong Python Cách kiểm tra một đối tượng có thể lặp (iterable) trong Python Quản lý sinh viên Python & MySQL Cách cắt (slicing) chuỗi trong Python Cách loại bỏ phần tử trùng lặp khỏi danh sách (List) trong Python Phân tích dữ liệu Apple Health bằng Python Cách làm phẳng danh sách lồng nhau trong Python Tìm hiểu về *args và **kwargs trong Python Cách xóa file và thư mục trong Python 31 Phương thức xử lý chuỗi (String) quan trọng trong Python Cách sao chép file trong Python 8 Mẹo Refactor Code Python nhanh gọn (Phần 2) Cách yêu cầu người dùng nhập liệu đến khi nhận được phản hồi hợp lệ trong Python Làm chủ Pattern Matching trong Python 3.10 Tạo app ghi chú trong Python với nhận dạng giọng nói và API Notion Các tính năng mới trong Python 3.10 5 lỗi thường gặp trong Python Sự khác biệt giữa append() và extend() trong list Python Các cách nối hai danh sách trong Python Sự khác biệt giữa str và repr trong Python Sự khác biệt giữa @classmethod, @staticmethod và instance methods trong Python Cách thêm số 0 vào đầu chuỗi trong Python Cách tạo thư mục lồng nhau (nested directory) trong Python Cách hợp nhất hai Dictionaries trong Python Cách thực thi lệnh hệ thống hoặc System Command từ Python Cách kiểm tra một chuỗi có chứa chuỗi con trong Python Cách tìm chỉ mục của một phần tử trong danh sách (List) trong Python Cách truy cập index trong vòng lặp for trong Python Cách kiểm tra file hoặc thư mục có tồn tại trong Python Cách xóa phần tử trong danh sách Python Ý nghĩa của if __name__ == "__main__" trong Python 8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic Hỗ trợ Async trong Django 3.1 Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit Cách sử dụng Python Debugger với hàm breakpoint() Cách sử dụng chế độ interactive trong Python Hướng dẫn viết game Rắn Săn Mồi bằng Python 11 mẹo và thủ thuật để viết Code Python hiệu quả hơn Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python Hướng dẫn tạo Chatbot đơn giản bằng PyTorch Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python Xây dựng web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API Hướng dẫn sử dụng Google Sheets API với Python Cách nạp dữ liệu Machine Learning từ File trong Python Toán tử Walrus Operator- Tính năng mới trong Python 3.8 Cách thêm Progress Bar trong Python với chỉ một dòng Code
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.

Chuyển chuỗi Python thành DateTime trong Python

Trong bài viết này, mình sẽ tìm hiểu cách chuyển đổi một chuỗi thành đối tượng ngày giờ trong Python bằng cách sử dụng hàm strptime() cùng với các mã định dạng ngày thường được sử dụng. Bên cạnh đó, mình cũng sẽ khám phá cách sử dụng các phương thức tương tự từ các mô-đun khác để thực hiện việc chuyển đổi này.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Các bước để chuyển đổi chuỗi thành datetime trong Python

Trong một số trường hợp, ngày và giờ có thể được chuyển thành đối tượng chuỗi. Để chuyển đổi một chuỗi thành một datetime đối tượng, mình có thể sử dụng strptime() chức năng của mô-đun datetime.

Ví dụ: bạn có thể cần chuyển đổi một chuỗi số như 17-06-2022 thành một datetime đối tượng,hoặc bạn muốn chuyển đổi chuỗi đại diện cho các ngày như Thứ Hai, ngày 17 tháng 6 năm 2021 thành một datetime đối tượng.

Các bước dưới đây cho thấy cách chuyển đổi một chuỗi biểu thị ngày thành đối tượng ngày giờ.

Bài viết này được đăng tại [free tuts .net]

Bước 1: Nhập mô-đun ngày giờ.

Trước hết, bạn cần phải nhập mô-đun datetime để có thể sử dụng các lớp và hàm liên quan đến thời gian và ngày giờ.

from datetime import datetime

Bước 2: Sử dụng hàm strptime() của lớp datetime.

Hàm strptime() cho phép bạn phân tích một chuỗi theo định dạng cho trước và tạo ra một đối tượng datetime từ chuỗi đó. Định dạng được sử dụng để chỉ ra cách chuỗi được biểu diễn theo ngày giờ.

date_string = "2023-08-16 15:30:00"
date_format = "%Y-%m-%d %H:%M:%S"
converted_datetime = datetime.strptime(date_string, date_format)
print(converted_datetime)

Trong ví dụ trên, date_string là chuỗi bạn muốn chuyển đổi và date_format là định dạng của chuỗi đó. Trong trường hợp này, chuỗi có định dạng 'YYYY-MM-DD HH:MM:SS', tương ứng với năm, tháng, ngày, giờ, phút và giây.

Bước 3: Sử dụng hàm strptime() của mô-đun thời gian.

Ngoài việc sử dụng strptime() từ lớp datetime, bạn cũng có thể sử dụng strptime() từ mô-đun time. Tuy nhiên, trong trường hợp này, bạn sẽ nhận được một đối tượng struct_time.

import time

date_string = "2023-08-16 15:30:00"
date_format = "%Y-%m-%d %H:%M:%S"
converted_struct_time = time.strptime(date_string, date_format)
print(converted_struct_time)

Trong ví dụ này, converted_struct_time sẽ là một đối tượng struct_time chứa thông tin về năm, tháng, ngày, giờ, phút, giây và các thành phần khác của thời gian.

anh12 jpg

Ví dụ: Phân tích chuỗi thành ngày giờ

Cú pháp :

datetime.strptime(date_string, format)

Sau đây là ví dụ trong đó chúng tôi có một chuỗi biểu thị ngày và giờ ở định dạng chuẩn ( dd/mm/yyyy hh:mm:ss).

from datetime import datetime

# Date String in dd/mm/yyyy HH:MM:SS format
dt_string = "12/06/2021 09:15:32"

# Convert string to datetime object
dt_object = datetime.strptime(dt_string, "%d/%m/%Y %H:%M:%S")
print(dt_object)

# Output 2021-06-12 09:15:32

Đối tượng chuỗi đến ngày

Để làm điều này, bạn có thể sử dụng lớp datetime từ mô-đun datetime như sau:

from datetime import datetime

# Chuỗi ngày cần chuyển đổi
date_string = "2023-08-16"

# Định dạng của chuỗi ngày
date_format = "%Y-%m-%d"

# Sử dụng datetime.strptime() để chuyển đổi chuỗi thành đối tượng datetime
date_object = datetime.strptime(date_string, date_format).date()

# In ra đối tượng ngày đã tạo
print("Đối tượng ngày:", date_object)

Trong ví dụ này:

  • datetime.strptime() được sử dụng để chuyển đổi chuỗi thành đối tượng datetime.
  • .date() được sử dụng để lấy phần ngày của đối tượng datetime, tạo thành một đối tượng ngày riêng lẻ.

Lưu ý rằng phần giờ, phút và giây sẽ được đặt về giá trị mặc định (00:00:00) khi bạn lấy phần ngày từ đối tượng datetime.

Chuỗi thành time đối tượng

Bạn có thể sử dụng datetime.time lớp để chuyển đổi một chuỗi chứa thời gian thành một timeđối tượng.

  • Đầu tiên, chuyển đổi một chuỗi thành một datetime đối tượng
  • Sử dụng datetime.time() chức năng để chỉ trích xuất timeđối tượng từ phiên bản datetime.
from datetime import datetime

# Convert string to datetime.time object
time_obj = datetime.strptime("12/06/2023 09:15:32", "%d/%m/%Y %H:%M:%S").time()
print(time_obj)

# Output 09:15:32

Lưu ý : Nếu một chuỗi đại diện cho thời gian không có ngày, chỉ sử dụng %H/%M/%S mã định dạng.

t_object = datetime.strptime("11:45:23", "%H:%M:%S").time()

Chuỗi thành time đối tượng bằng Mô-đun thời gian

Mình có thể sử dụng phương thức () của mô-đun thời gian strptime để chuyển đổi thời gian ở định dạng chuỗi thành đối tượng thời gian ở time.struct_time định dạng.

Cú pháp :

time.strptime(string[, format])

Mình hãy xem một ví dụ trong đó ta có một chuỗi đề cập đến thời gian ở định dạng giờ-phút-giây (hh:mm:ss).

Ví dụ :

import time

# time hours-minutes-seconds format
time_string = "09-15-09"
format_codes = "%H-%M-%S"

time_obj = time.strptime(time_string, format_codes)
print("Time Object", time_obj)
print(type(time_obj))

Làm thế nào strptime() hoạt động?

strptime() là một phương thức của lớp datetime trong Python, và nó được sử dụng để phân tích (parse) một chuỗi đại diện cho thời gian thành một đối tượng datetime. Tên của phương thức có ý nghĩa như sau:

  • "str" là viết tắt của "string" (chuỗi), là loại dữ liệu đầu vào bạn muốn phân tích.
  • "ptime" đại diện cho "parsed time" (thời gian đã được phân tích).

Cú pháp của phương thức strptime() như sau:

datetime.strptime(date_string, format)

Trong đó:

  • date_string là chuỗi bạn muốn chuyển đổi thành đối tượng datetime.
  • format là định dạng của chuỗi, chỉ định cách mà chuỗi được biểu diễn theo ngày giờ.

Ví dụ, nếu bạn có một chuỗi "2023-08-16 15:30:00" và muốn chuyển nó thành một đối tượng datetime, bạn có thể làm như sau:

from datetime import datetime

date_string = "2023-08-16 15:30:00"
date_format = "%Y-%m-%d %H:%M:%S"
converted_datetime = datetime.strptime(date_string, date_format)
print(converted_datetime)

Ở đây, "%Y-%m-%d %H:%M:%S" là định dạng của chuỗi "2023-08-16 15:30:00", trong đó %Y đại diện cho năm, %m đại diện cho tháng, %d đại diện cho ngày, %H đại diện cho giờ (24h), %M đại diện cho phút và %S đại diện cho giây.

Khi bạn gọi datetime.strptime(date_string, date_format), phương thức sẽ phân tích chuỗi date_string theo định dạng date_format và tạo ra một đối tượng datetime tương ứng.

strptime() mã định dạng

Khi bạn sử dụng phương thức strptime() để chuyển đổi một chuỗi thành một đối tượng datetime, bạn cần xác định mã định dạng (format codes) để chỉ ra cách mà các phần của chuỗi biểu diễn ngày giờ. Dưới đây là một số mã định dạng phổ biến mà bạn có thể sử dụng trong strptime():

Mã định dạng Sự miêu tả Ví dụ
%d Ngày trong tháng dưới dạng số thập phân không đệm. CN, Mon, …, Sat (en_US);
Vì vậy, Mo, …, Sa (de_DE)
%m Tháng trong năm dưới dạng số thập phân không đệm. Chủ Nhật, Thứ Hai, …, Thứ Bảy (en_US);
Sonntag, Montag, …, Samstag (de_DE)
%Y Một năm với một thế kỷ ở định dạng bốn chữ số 0001, 2021, … , 9999
%y Một năm không có thế kỷ ở định dạng hai chữ số 01, 21, …, 31
%A Tên đầy đủ của một ngày trong tuần theo tên của ngôn ngữ. Chủ Nhật, …, Thứ Bảy (en_US);
Sonntag, …, Samstag (de_DE)
%a Tên viết tắt của một ngày trong tuần làm tên viết tắt của ngôn ngữ. CN, …, Sat (en_US);
Vì vậy, …, Sa (de_DE)
%B Tên đầy đủ của một tháng theo tên của miền địa phương Tháng Giêng, …, Tháng Mười Hai (en_US);
tháng một, …, tháng mười hai (de_DE)
%b Tên viết tắt của một tháng là tên viết tắt của ngôn ngữ. Tháng 1, …, Tháng 12 (en_US);
Tháng Giêng, …, Dez (de_DE)
%H Giờ (đồng hồ 24 giờ) dưới dạng số thập phân không đệm. 01, 02, … , 23
%I Giờ (đồng hồ 12 giờ) dưới dạng số thập phân không đệm. 01, 02, …, 12
%p Ngôn ngữ tương đương với AM hoặc PM. AM, PM (en_US);
sáng, chiều (de_DE)
%M Phút dưới dạng số thập phân không đệm. 00, 01, …, 59
%S Thứ hai dưới dạng số thập phân không đệm. 00, 01, …, 59
%f Micro giây dưới dạng số thập phân, không đệm ở bên trái. 000000, 000001, …, 999999
%z UTC offset ở dạng ±HHMM[SS[.ffffff]] (chuỗi trống nếu đối tượng là ngây thơ). (trống), +0000, -0400, +1030, +063415, -030712.345216
%Z Tên múi giờ (chuỗi trống nếu đối tượng là ngây thơ). (trống), UTC, GMT
%j Ngày trong năm dưới dạng số thập phân không đệm. 001, 002, …, 366
%U Số tuần của năm (Chủ nhật là ngày đầu tiên của tuần) dưới dạng số thập phân không đệm. Tất cả các ngày trong năm mới trước Chủ nhật đầu tiên được coi là trong tuần 0. 00, 01, …, 53
%W Số tuần của năm (thứ hai là ngày đầu tuần) dưới dạng số thập phân. Tất cả các ngày trong năm mới trước ngày thứ Hai đầu tiên được coi là trong tuần 0. 00, 01, …, 53
%c Đại diện ngày và giờ thích hợp của địa phương. Thứ ba ngày 16 tháng 8 21:30:00 1988 (en_US);
Ngày 16 tháng 8, 21:30:00, 1988 (de_DE)
%x Đại diện ngày thích hợp của địa phương. 16/08/88 (Không có);
16/08/1988 (en_US);
16.08.1988 (de_DE)
%X Đại diện thời gian thích hợp của địa phương. 21:30:00 (vi_Mỹ);
21:30:00 (de_DE)
%% Một '%' nhân vật theo nghĩa đen. %

Kết bài

Qua bài viết trên, chuyển chuỗi thành đối tượng DateTime là một phần quan trọng khi làm việc với thời gian. Thư viện datetime cung cấp phương thức strptime() cho phép ta dễ dàng biến đổi chuỗi thời gian thành DateTime. Bằng cách xác định định dạng và sử dụng phương thức này, chúng ta có thể tạo ra đối tượng DateTime từ chuỗi dễ dàng và linh hoạt.Chúc bạn thành công.

Cùng chuyên mục:

Cách thêm Progress Bar trong Python với chỉ một dòng Code

Cách thêm Progress Bar trong Python với chỉ một dòng Code

Toán tử Walrus Operator- Tính năng mới trong Python 3.8

Toán tử Walrus Operator- Tính năng mới trong Python 3.8

Cách nạp dữ liệu Machine Learning từ File trong Python

Cách nạp dữ liệu Machine Learning từ File trong Python

Hướng dẫn sử dụng Google Sheets API với Python

Hướng dẫn sử dụng Google Sheets API với Python

Xây dựng  web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API

Xây dựng web Python tự động hóa Twitter | Flask, Heroku, Twitter API & Google Sheets API

Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python

Xây dựng Web Machine Learning đẹp mắt với Streamlit và Scikit-learn trong Python

Hướng dẫn tạo Chatbot đơn giản bằng PyTorch

Hướng dẫn tạo Chatbot đơn giản bằng PyTorch

11 mẹo và thủ thuật để viết Code Python hiệu quả hơn

11 mẹo và thủ thuật để viết Code Python hiệu quả hơn

Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python

Hướng dẫn làm ứng dụng TODO với Flask dành cho người mới bắt đầu trong Python

Hướng dẫn viết Snake Game bằng Python

Hướng dẫn viết Snake Game bằng Python

Cách sử dụng chế độ interactive trong Python

Cách sử dụng chế độ interactive trong Python

Cách sử dụng Python Debugger với hàm breakpoint()

Cách sử dụng Python Debugger với hàm breakpoint()

Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit

Xây dựng ứng dụng Web Style Transfer với PyTorch và Streamlit

Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel

Cách cài đặt Jupyter Notebook trong môi trường Conda và thêm Kernel

Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python

Hướng dẫn xây dựng ứng dụng dự đoán giá cổ phiếu bằng Python

Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python

Hướng dẫn tạo ứng dụng AI hội thoại với NVIDIA Jarvis trong Python

Hỗ trợ Async trong Django 3.1

Hỗ trợ Async trong Django 3.1

8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic

8 mẹo tái cấu trúc Python giúp mã sạch hơn và Pythonic

Ý nghĩa của if __name__ ==

Ý nghĩa của if __name__ == "__main__" trong Python

Cách xóa phần tử trong danh sách Python

Cách xóa phần tử trong danh sách Python

Top