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 List Comprehension trong Python Tạo danh sách phim ngẫu nhiên với Python Hướng dẫn Web Scraping tự động tải hình ảnh với Python Hướng dẫn sử dụng Anaconda bằng Python Hồi quy tuyến tính và hồi quy Logistic trong Python Thuật toán Naive Bayes trong Python Bắt đầu tìm hiểu Perceptron bằng Python SVM (Support Vector Machine) bằng Python Triển khai Decision Tree bằng Python Triển khai thuật toán Random Forest bằng Python Triển khai PCA bằng Python Thuật toán AdaBoost trong Python LDA (Linear Discriminant Analysis) trong Python
PYTHON NÂNG CAO
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 lưu trữ và tải lại Models trong PyTorch

Cách lưu trữ và tải lại Models trong PyTorch

Tìm hiểu về TensorBoard với PyTorch

Tìm hiểu về TensorBoard với PyTorch

Học chuyển giao (Transfer Learning) trong PyTorch Beginner

Học chuyển giao (Transfer Learning) trong PyTorch Beginner

Hướng dẫn cơ bản mạng Nơ-ron Tích Chập (CNN) trong PyTorch

Hướng dẫn cơ bản mạng Nơ-ron Tích Chập (CNN) trong PyTorch

Mạng Nơ-Ron truyền thẳng (Feed Forward Neural Network) trong PyTorch

Mạng Nơ-Ron truyền thẳng (Feed Forward Neural Network) trong PyTorch

Tìm hiểu Activation Functions trong PyTorch

Tìm hiểu Activation Functions trong PyTorch

Softmax và Cross Entropy trong PyTorch Beginner

Softmax và Cross Entropy trong PyTorch Beginner

Dataset Transforms trong PyTorch Beginner

Dataset Transforms trong PyTorch Beginner

Dataset và DataLoader trong PyTorch Beginner

Dataset và DataLoader trong PyTorch Beginner

Hồi quy Logistic trong PyTorch Beginner

Hồi quy Logistic trong PyTorch Beginner

Hồi quy tuyến tính trong PyTorch Beginner

Hồi quy tuyến tính trong PyTorch Beginner

Training Pipeline trong PyTorch Beginner

Training Pipeline trong PyTorch Beginner

Sử dụng Gradient Descent với Autograd trong PyTorch

Sử dụng Gradient Descent với Autograd trong PyTorch

Hướng dẫn về Tensor cơ bản trong PyTorch

Hướng dẫn về Tensor cơ bản trong PyTorch

Hướng dẫn cài đặt PyTorch với Deep Learning

Hướng dẫn cài đặt PyTorch với Deep Learning

LDA (Linear Discriminant Analysis) trong Python

LDA (Linear Discriminant Analysis) trong Python

Thuật toán AdaBoost trong Python

Thuật toán AdaBoost trong Python

Thuật toán K-Means Clustering trong Python

Thuật toán K-Means Clustering trong Python

Triển khai PCA bằng Python

Triển khai PCA bằng Python

Triển khai thuật toán Random Forest bằng Python

Triển khai thuật toán Random Forest bằng Python

Top