Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

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.

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

Hans Z.

47.7K11 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

383K64 Huy hiệu vàng462 Huy hiệu bạc595 Huy hiệu Đồng64 gold badges462 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

294K64 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!

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

Siha

7.16212 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

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

Paxdiablopaxdiablopaxdiablo

827K227 Huy hiệu vàng1549 Huy hiệu bạc1917 Huy hiệu đồng227 gold badges1549 silver badges1917 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

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

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.27025 Huy hiệu bạc44 Huy hiệu đồng25 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.3401 Huy hiệu vàng20 Huy hiệu bạc22 Huy hiệu đồng1 gold badge20 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

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

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

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

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

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

Peter Csala

12.6K15 Huy hiệu vàng25 Huy hiệu bạc56 Huy hiệu đồng15 gold badges25 silver badges56 bronze badges

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

Hướng dẫn how to change date format in python from mm/dd/yyyy to dd/mm/yyyy - cách thay đổi định dạng ngày trong python từ mm / dd / yyyy thành dd / mm / yyyy

1

Làm cách nào để thay đổi định dạng ngày từ DD

Câu trả lời của bạn trước tiên, chọn các ô có chứa ngày, sau đó nhấp chuột phải và chọn các ô định dạng.Chọn Tùy chỉnh trong tab Số, sau đó nhập 'DD-MMM-YYYY' vào hộp văn bản loại, sau đó nhấp vào ổn.Nó sẽ định dạng ngày bạn chỉ định.pick the cells that contain dates, then right-click and select Format Cells. Select Custom in the Number Tab, then type 'dd-mmm-yyyy' in the Type text box, then click okay. It will format the dates you specify.

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 cách nào để thay đổi định dạng ngày trong một khung dữ liệu trong Python?

Hàm được sử dụng strftime () có thể thay đổi định dạng ngày trong Python.strftime() can change the date format in python.

Làm cách nào để kiểm tra xem một ngày có tính bằng mm/dd/yyyy trong python?

Kiểm tra Python nếu chuỗi là định dạng ngày..
>>> Nhập Datetime ..
>>> xác thực def (Date_Text):.
ngày giờ.ngày giờ.Strptime (date_text, '%y-%m-%d').
ngoại trừ valueError:.
Tăng giá trịerror ("Định dạng dữ liệu không chính xác, nên là yyyy-mm-dd").