Hướng dẫn timedelta years 1 python - timedelta năm 1 con trăn
Bạn cần nhiều hơn một 5 để cho biết bao nhiêu năm đã trôi qua; Bạn cũng cần biết ngày bắt đầu (hoặc kết thúc). (Đó là một năm bước nhảy vọt.)Đặt cược tốt nhất của bạn là sử dụng đối tượng 6, nhưng đó là mô -đun của bên thứ 3. Nếu bạn muốn biết 7 đó là 8 năm kể từ ngày nào đó (mặc định đến ngay bây giờ), bạn có thể làm như sau ::
Nếu bạn muốn gắn bó với thư viện tiêu chuẩn, câu trả lời phức tạp hơn một chút ::
Nếu đó là 2/29 và 18 năm trước, không có 2/29, chức năng này sẽ trả lại 2/28. Nếu bạn muốn trả lại 3/1, chỉ cần thay đổi câu lệnh 9 cuối cùng để đọc ::
Câu hỏi của bạn ban đầu cho biết bạn muốn biết bao nhiêu năm kể từ một ngày nào đó. Giả sử bạn muốn có một số nguyên số năm, bạn có thể đoán dựa trên 365.2425 ngày mỗi năm và sau đó kiểm tra bằng một trong hai hàm 0 được xác định ở trên ::
Đã trả lời ngày 19 tháng 4 năm 2009 lúc 20:05Apr 19, 2009 at 20:05
Rick Copelandrick CopelandRick Copeland 11.4K5 Huy hiệu vàng38 Huy hiệu bạc38 Huy hiệu đồng5 gold badges38 silver badges38 bronze badges 6 Nếu bạn đang cố gắng kiểm tra xem ai đó có 18 tuổi hay không, sử dụng 5 sẽ không hoạt động chính xác trên một số trường hợp cạnh vì năm nhảy. Ví dụ, một người nào đó sinh ngày 1 tháng 1 năm 2000, sẽ bước sang tuổi 18 chính xác 6575 ngày sau vào ngày 1 tháng 1 năm 2018 (bao gồm 5 năm bước nhảy), nhưng ai đó sinh ngày 1 tháng 1 năm 2001, sẽ bước sang tuổi 18 chính xác 6574 ngày sau ngày 1 tháng 1, 2019 (bao gồm 4 năm nhảy). Do đó, bạn nếu ai đó chính xác là 6574 ngày, bạn không thể xác định xem họ 17 hay 18 mà không biết thêm một chút thông tin về ngày sinh của họ.Cách chính xác để làm điều này là tính độ tuổi trực tiếp từ ngày, bằng cách trừ hai năm, và sau đó trừ một nếu tháng/ngày hiện tại trước tháng/ngày sinh. Đã trả lời ngày 19 tháng 4 năm 2009 lúc 18:36Apr 19, 2009 at 18:36
Adam Rosenfieldadam RosenfieldAdam Rosenfield 382K96 Huy hiệu vàng510 Huy hiệu bạc585 Huy hiệu Đồng96 gold badges510 silver badges585 bronze badges 3 Trước hết, ở cấp độ chi tiết nhất, vấn đề không thể được giải quyết chính xác. Năm khác nhau về chiều dài, và không có "lựa chọn đúng" rõ ràng cho chiều dài năm. Điều đó nói rằng, có được sự khác biệt trong bất kỳ đơn vị nào là "tự nhiên" (có lẽ là giây) và chia theo tỷ lệ giữa đó và năm. Ví dụ.
...hay bất cứ cái gì. Tránh xa tháng, vì chúng thậm chí còn ít được xác định rõ hơn năm. Đã trả lời ngày 19 tháng 4 năm 2009 lúc 18:08Apr 19, 2009 at 18:08
MarkusqmarkusqMarkusQ 21.7K3 Huy hiệu vàng55 Huy hiệu bạc67 Huy hiệu Đồng3 gold badges55 silver badges67 bronze badges 3 Đây là một chức năng DOB được cập nhật, tính toán ngày sinh nhật giống như cách con người làm:
Đã trả lời ngày 10 tháng 8 năm 2012 lúc 10:53Aug 10, 2012 at 10:53
Người chống anh hùngantihero 4235 Huy hiệu bạc10 Huy hiệu Đồng5 silver badges10 bronze badges 1 Nhận số ngày, sau đó chia cho 365.2425 (năm Gregorian trung bình) trong nhiều năm. Chia cho 30.436875 (tháng trung bình của Gregorian) trong nhiều tháng. Đã trả lời ngày 24 tháng 12 năm 2009 lúc 21:13Dec 24, 2009 at 21:13
Brianarybrianarybrianary 8.8082 Huy hiệu vàng34 Huy hiệu bạc29 Huy hiệu đồng2 gold badges34 silver badges29 bronze badges Làm thế nào chính xác bạn cần nó để trở thành? 2 sẽ khiến bạn khá gần, nếu bạn lo lắng về những năm bước nhảy.Đã trả lời ngày 19 tháng 4 năm 2009 lúc 18:04Apr 19, 2009 at 18:04
Eduffyeduffyeduffy 38.4K12 Huy hiệu vàng93 Huy hiệu bạc91 Huy hiệu Đồng12 gold badges93 silver badges91 bronze badges 2
Đã trả lời ngày 30 tháng 11 năm 2009 lúc 1:51Nov 30, 2009 at 1:51
John Meejohn MeeJohn Mee 48.6K33 Huy hiệu vàng145 Huy hiệu bạc184 Huy hiệu đồng33 gold badges145 silver badges184 bronze badges 6 `Giải pháp đơn giản!
Hoàn thành: Relativingelta (năm =+31, tháng =+3, ngày =+15) Năm: 31, tháng: 3, ngày: 15 Đã trả lời ngày 16 tháng 5 năm 2021 lúc 6:33May 16, 2021 at 6:33
SajidsajidSajid Huy hiệu đồng 2111 bronze badge Tuy nhiên, một bên thứ 3 khác không được đề cập ở đây là mxdatetime (tiền thân của cả Python 7 và bên thứ 3 4) có thể được sử dụng cho nhiệm vụ này. 0 đã nói ở trên:
Tham số đầu tiên dự kiến là một ví dụ 6.Để chuyển đổi thông thường 7 thành 6, bạn có thể sử dụng điều này trong 1 giây chính xác):
Hoặc điều này với độ chính xác 1 micro giây: 0Và vâng, việc thêm sự phụ thuộc cho nhiệm vụ duy nhất này trong câu hỏi chắc chắn sẽ là một quá mức cần thiết ngay cả khi sử dụng thời gian (được đề xuất bởi Rick Copeland). Đã trả lời ngày 24 tháng 12 năm 2009 lúc 20:52Dec 24, 2009 at 20:52
Antony Hatchkinsantony HatchkinsAntony Hatchkins 30.2k9 Huy hiệu vàng107 Huy hiệu bạc108 Huy hiệu đồng9 gold badges107 silver badges108 bronze badges Cuối cùng, những gì bạn có là một vấn đề toán học. Nếu cứ sau 4 năm, chúng ta có thêm một ngày, hãy nghỉ ngơi theo thời gian trong nhiều ngày, không phải bởi 365 mà là 365*4 + 1, điều đó sẽ cung cấp cho bạn số tiền 4 năm. Sau đó chia lại nó cho 4. Timedelta / ((365*4) +1) / 4 = Timedelta*4 / (365*4 +1) Đã trả lời ngày 15 tháng 7 năm 2010 lúc 23:20Jul 15, 2010 at 23:20
NorbertonorbertoNorberto 1851 Huy hiệu vàng2 Huy hiệu bạc7 Huy hiệu đồng1 gold badge2 silver badges7 bronze badges 1 Đây là giải pháp tôi đã giải quyết, tôi hy vọng có thể giúp đỡ ;-) 1Đã trả lời ngày 10 tháng 3 năm 2011 lúc 14:29Mar 10, 2011 at 14:29
Pvilaspvilaspvilas 6325 Huy hiệu bạc7 Huy hiệu Đồng5 silver badges7 bronze badges Muộn bữa tiệc, nhưng điều này sẽ cho bạn tuổi (tính theo năm) một cách chính xác và dễ dàng: 2Đã trả lời ngày 2 tháng 12 năm 2020 lúc 5:19Dec 2, 2020 at 5:19
Đối với mục đích của tôi vì phép trừ hai đối tượng 7 (ít nhất là trong Python 3.8) chuyển đổi thành 5 chỉ với thuộc tính 1: 3Đã trả lời ngày 3 tháng 6 năm 2021 lúc 20:15Jun 3, 2021 at 20:15
Jimhjimhjimh 1.3822 Huy hiệu vàng13 Huy hiệu bạc27 Huy hiệu đồng2 gold badges13 silver badges27 bronze badges Phương pháp này là một hack của thư viện DateTime: 4Giải pháp này là kỳ lạ, vì vậy tôi đã chia sẻ nó với bạn. Nó có lẽ không phải là chức năng thanh lịch nhất. 5Sự khác biệt là một ngày. Tôi hiểu lý do cho sự khác biệt là do năm bisextile (Leap). Để sửa chữa hành vi không mong muốn này, bạn cần sử dụng năm sinh nhật để thêm kết quả.
ouflak 2.42810 Huy hiệu vàng43 Huy hiệu bạc49 Huy hiệu đồng10 gold badges43 silver badges49 bronze badges Đã trả lời ngày 21 tháng 9 năm 2021 lúc 21:30Sep 21, 2021 at 21:30
Mặc dù chủ đề này đã chết, tôi có thể đề xuất một giải pháp làm việc cho vấn đề rất tương tự mà tôi đang phải đối mặt. Đây là (ngày là một chuỗi trong định dạng dd-mm-yyyy): 6Đã trả lời ngày 3 tháng 7 năm 2009 lúc 10:51Jul 3, 2009 at 10:51 Hàm này trả về sự khác biệt về năm giữa hai ngày (được lấy dưới dạng chuỗi ở định dạng ISO, nhưng nó có thể dễ dàng sửa đổi để thực hiện ở bất kỳ định dạng nào) 7Đã trả lời ngày 1 tháng 9 năm 2009 lúc 9:29Sep 1, 2009 at 9:29
Mauro Bianchimauro BianchiMauro Bianchi 6751 Huy hiệu vàng8 Huy hiệu bạc17 Huy hiệu đồng1 gold badge8 silver badges17 bronze badges Tôi sẽ đề nghị pyfdate
hướng dẫn Đã trả lời ngày 1 tháng 12 năm 2009 lúc 4:48Dec 1, 2009 at 4:48
twilstwilstwils 2.5543 huy hiệu vàng17 Huy hiệu bạc7 Huy hiệu đồng3 gold badges17 silver badges7 bronze badges 8Đây là mã mà người vận hành CARROUSEL đang chạy trong bộ phim Run của Logan;) https://en.wikipedia.org/wiki/Logan%27s_Run_(film) Đã trả lời ngày 6 tháng 3 năm 2020 lúc 0:46Mar 6, 2020 at 0:46
Tôi đã bắt gặp câu hỏi này và tìm thấy Adams trả lời https://stackoverflow.com/A/765862/2964689 Nhưng không có ví dụ về phương pháp của anh ấy nhưng đây là những gì tôi đã sử dụng. Đầu vào: Đối tượng DateTime đầu ra: tuổi nguyên trong cả năm 9Đã trả lời ngày 9 tháng 6 năm 2020 lúc 8:21Jun 9, 2020 at 8:21
Sam SamSam 4444 Huy hiệu bạc18 Huy hiệu đồng4 silver badges18 bronze badges Tôi thích giải pháp của John Mee vì sự đơn giản của nó, và tôi không quan tâm đến việc làm thế nào, vào ngày 28 tháng 2 hoặc ngày 1 tháng 3 khi đó không phải là một năm bước nhảy, để xác định tuổi của những người sinh ngày 29 tháng 2. Nhưng đây là một điều chỉnh mã mà tôi nghĩ giải quyết các khiếu nại: 0Đã trả lời ngày 18 tháng 6 năm 2020 lúc 5:33Jun 18, 2020 at 5:33
Gravesrick GravesrickRick Graves 4475 Huy hiệu bạc11 Huy hiệu đồng5 silver badges11 bronze badges Thay vào đó, tôi sẽ sử dụng kiểu dữ liệu 2, vì nó đơn giản hơn khi kiểm tra số năm, tháng và ngày đã trôi qua: 1Output: 2Tôi sử dụng 5 khi tôi cần thực hiện số học vào một ngày cụ thể: 3Output: 4Đã trả lời ngày 15 tháng 11 năm 2020 lúc 18:06Nov 15, 2020 at 18:06
|