Hướng dẫn how do you convert dd mm to yyyy in python? - làm thế nào để bạn chuyển đổi dd mm sang yyyy trong python?

64

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Sử dụng tập lệnh Python, tôi cần đọc một tệp CVS trong đó ngày được định hình là DD/mm/yyyy và chuyển đổi chúng thành yyyy-mm-dd trước khi lưu điều này vào cơ sở dữ liệu SQLite.

Điều này gần như hoạt động, nhưng thất bại vì tôi không cung cấp thời gian:

from datetime import datetime lastconnection = datetime.strptime("21/12/2008", "%Y-%m-%d") #ValueError: time data did not match format: data=21/12/2008 fmt=%Y-%m-%d print lastconnection

Tôi giả sử có một phương thức trong đối tượng DateTime để thực hiện chuyển đổi này rất dễ dàng, nhưng tôi không thể tìm thấy một ví dụ về cách thực hiện. Cảm ơn bạn.

hỏi ngày 2 tháng 2 năm 2009 lúc 10:01Feb 2, 2009 at 10:01

Mã ví dụ của bạn là sai. Những công việc này:

import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d")

Cuộc gọi đến Strptime () phân tích đối số đầu tiên theo định dạng được chỉ định trong lần thứ hai, vì vậy hai người đó cần phải khớp. Sau đó, bạn có thể gọi strftime () để định dạng kết quả vào định dạng cuối cùng mong muốn.

Hans Z.

47.9K11 Huy hiệu vàng96 Huy hiệu bạc111 Huy hiệu đồng11 gold badges96 silver badges111 bronze badges

Đã trả lời ngày 2 tháng 2 năm 2009 lúc 10:09Feb 2, 2009 at 10:09

Khả năng thư giãnunwind

384K64 Huy hiệu vàng463 Huy hiệu bạc595 Huy hiệu Đồng64 gold badges463 silver badges595 bronze badges

1

Trước tiên, bạn cần chuyển đổi chuỗi thành Tuple DateTime, sau đó chuyển đổi bộ dữ liệu đó thành chuỗi, nó sẽ như thế này:

lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d')

Đã trả lời ngày 2 tháng 2 năm 2009 lúc 10:07Feb 2, 2009 at 10:07

SilentghostsilentghostSilentGhost

295K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges

1

Tôi mới lập trình. Tôi muốn chuyển đổi từ import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 1 sang import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 2 để in ra một ngày ở định dạng mà mọi người trong phần của tôi sử dụng và nhận ra.

Câu trả lời được chấp nhận ở trên đã giúp tôi đi đúng hướng.

Câu trả lời tôi đã kết thúc với vấn đề của mình là:

import datetime today_date = datetime.date.today() print(today_date) new_today_date = today_date.strftime("%d/%m/%Y") print (new_today_date)

Hai dòng đầu tiên sau khi tuyên bố nhập khẩu đưa ra ngày hôm nay ở định dạng Hoa Kỳ (2017-01-26). Hai dòng cuối cùng chuyển đổi nó thành định dạng được công nhận ở Anh và các quốc gia khác (26/01/2017).

Bạn có thể rút ngắn mã này, nhưng tôi đã để nó như là vì nó hữu ích cho tôi khi mới bắt đầu. Tôi hy vọng điều này giúp các lập trình viên mới bắt đầu khác bắt đầu!

Siha

7.19112 Huy hiệu vàng32 Huy hiệu bạc42 Huy hiệu đồng12 gold badges32 silver badges42 bronze badges

Đã trả lời ngày 26 tháng 1 năm 2017 lúc 12:37Jan 26, 2017 at 12:37

MarkmarkMark

3754 Huy hiệu bạc10 Huy hiệu Đồng4 silver badges10 bronze badges

2

Có ai khác nghĩ rằng đó là một sự lãng phí để chuyển đổi các chuỗi này cho đến ngày/thời gian cho những gì, cuối cùng, một chuyển đổi văn bản đơn giản? Nếu bạn chắc chắn rằng ngày đến sẽ hợp lệ, bạn chỉ có thể sử dụng:

>>> ddmmyyyy = "21/12/2008" >>> yyyymmdd = ddmmyyyy[6:] + "-" + ddmmyyyy[3:5] + "-" + ddmmyyyy[:2] >>> yyyymmdd '2008-12-21'

Điều này gần như chắc chắn sẽ nhanh hơn so với chuyển đổi sang và từ một ngày.

Đã trả lời ngày 2 tháng 2 năm 2009 lúc 10:53Feb 2, 2009 at 10:53

Paxdiablopaxdiablopaxdiablo

828K227 Huy hiệu vàng1550 Huy hiệu bạc1918 Huy hiệu đồng227 gold badges1550 silver badges1918 bronze badges

2

#case_date= 03/31/2020 #Above is the value stored in case_date in format(mm/dd/yyyy ) demo=case_date.split("/") new_case_date = demo[1]+"-"+demo[0]+"-"+demo[2] #new format of date is (dd/mm/yyyy) test by printing it print(new_case_date)

Đã trả lời ngày 10 tháng 4 năm 2020 lúc 13:19Apr 10, 2020 at 13:19

Nếu bạn cần chuyển đổi toàn bộ cột (từ import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 3 import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 4), trước tiên hãy chuyển đổi nó (import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 3 import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 6) sang định dạng import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 7 bằng cách sử dụng import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 8 và sau đó sử dụng import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 9:

def conv_dates_series(df, col, old_date_format, new_date_format): df[col] = pd.to_datetime(df[col], format=old_date_format).dt.strftime(new_date_format) return df Sử dụng mẫu:import pandas as pd test_df = pd.DataFrame({"Dates": ["1900-01-01", "1999-12-31"]}) old_date_format='%Y-%m-%d' new_date_format='%d/%m/%Y' conv_dates_series(test_df, "Dates", old_date_format, new_date_format) Dates 0 01/01/1900 1 31/12/1999

Đã trả lời ngày 5 tháng 4 năm 2020 lúc 19:10Apr 5, 2020 at 19:10

Mirekphdmirekphdmirekphd

3.29826 huy hiệu bạc44 Huy hiệu đồng26 silver badges44 bronze badges

Cách đơn giản nhất

Trong khi đọc tệp CSV, hãy đặt một đối số lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d') 0

df = pd.read_csv("sample.csv", parse_dates=['column_name'])

Điều này sẽ chuyển đổi ngày của cột được đề cập thành định dạng Yyyy-MM-DD

Josef

2.3602 Huy hiệu vàng20 Huy hiệu bạc22 Huy hiệu đồng2 gold badges20 silver badges22 bronze badges

Đã trả lời ngày 9 tháng 5 năm 2021 lúc 8:16May 9, 2021 at 8:16

Chuyển đổi định dạng ngày dd/mm/yyyy sang yyyy-mm-dd Theo câu hỏi của bạn, bạn có thể sử dụng điều này:

from datetime import datetime lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") print(lastconnection)

Đã trả lời ngày 2 tháng 11 năm 2021 lúc 9:42Nov 2, 2021 at 9:42

RokidguptarokidguptaRokiDGupta

3311 Huy hiệu vàng6 Huy hiệu bạc13 Huy hiệu đồng1 gold badge6 silver badges13 bronze badges

  • lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d') 1 là khung dữ liệu của bạn
  • lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d') 2 là cột mà bạn muốn thay đổi

Cột này phải có trong kiểu dữ liệu lastconnection = datetime.strptime("21/12/2008", "%d/%m/%Y").strftime('%Y-%m-%d') 3.

import datetime datetime.datetime.strptime("21/12/2008", "%d/%m/%Y").strftime("%Y-%m-%d") 0

Peter Csala

Huy hiệu vàng 13K1515 gold badges25 silver badges60 bronze badges

Đã trả lời ngày 30 tháng 12 năm 2021 lúc 8:33Dec 30, 2021 at 8:33

1

Làm thế nào để bạn có được dd mm yyyy trong python?

Sử dụng DateTime.strftime (định dạng) để chuyển đổi đối tượng DateTime thành một chuỗi theo định dạng tương ứng.Mã định dạng là các chỉ thị tiêu chuẩn để đề cập đến định dạng bạn muốn đại diện cho DateTime.Ví dụ:%d-%m-%y%H:%m:%s Mã chuyển đổi ngày thành DD-MM-YYYY HH: MM: SS. strftime(format) to convert a datetime object into a string as per the corresponding format . The format codes are standard directives for mentioning in which format you want to represent datetime. For example, the %d-%m-%Y %H:%M:%S codes convert date to dd-mm-yyyy hh:mm:ss format.

Làm cách nào để thay đổi định dạng ngày trong Python?

Từ DateTime Nhập DateTime ..
date_time_str = '18/09/19 01:55:19 '.
date_time_obj = DateTime.Strptime (date_time_str, '%d/%m/%y%h:%m:%s').
In ("Loại ngày là bây giờ", loại (DATE_TIME_OBJ)).

Làm thế nào để bạn chuyển đổi mm/dd/yyyy sang yyyymmdd trong python?

Sử dụng hàm dateTime.strftime () để định dạng ngày cho yyyymmdd trong python.Strftime () được sử dụng để chuyển đổi đối tượng DateTime thành một chuỗi có định dạng nhất định.Chúng ta có thể chỉ định định dạng cho yyyy-mm-dd trong hàm là%y-%m-%d. strftime() Function to Format Date to YYYYMMDD in Python. The strftime() is used to convert a datetime object to a string with a given format. We can specify the format for YYYY-MM-DD in the function as %Y-%m-%d .

Làm cách nào để chuyển đổi một ngày thành một ngày trong Python?

Strptime () Phương thức strptime () lấy ngày làm đầu vào và chuyển đổi nó thành một đối tượng ngày. The strptime() method takes the date as an input and converts it into a date object.

Chủ đề