Thêm phút cho thời gian hiện tại trong Python #
Để thêm phút vào thời gian hiện tại trong Python:
- Sử dụng phương thức
1 để có được ngày và giờ địa phương hiện tại.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
- Tạo một đối tượng
2 bằng cách chuyển số phút cho lớpCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
- Tổng thời gian hiện tại và đối tượng
2.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:33:10.981473 result = now + timedelta[minutes=15] print[result] # 👉️ 2022-06-22 16:48:10.981473 print[result.time[]] # 👉️ 16:48:10.981473 print[f'{result:%H:%M:%S}'] # 👉️ 16:48:10
Đảm bảo nhập các lớp
5 và Timedelta từ mô -đunCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Chúng tôi đã sử dụng phương thức DateTime. Bây giờ để có được ngày và giờ địa phương hiện tại.
Biến Copied! Copied! Copied!
7 lưu trữ một đối tượng from datetime import datetime, timedelta
now = datetime.now[]
print[now] # 👉️ 2022-06-22 16:46:48.089464
result = now + timedelta[minutes=25]
print[result] # 👉️ 2022-06-22 17:11:48.089464
print[result.time[]] # 👉️ 17:11:48.089464
# 👇️ format as HH:MM:SS
print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5, mà chúng ta có thể thêm phút bằng lớp from datetime import datetime, timedelta
now = datetime.now[]
print[now] # 👉️ 2022-06-22 16:46:48.089464
result = now + timedelta[minutes=25]
print[result] # 👉️ 2022-06-22 17:11:48.089464
print[result.time[]] # 👉️ 17:11:48.089464
# 👇️ format as HH:MM:SS
print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2.from datetime import datetime, timedelta
now = datetime.now[]
print[now] # 👉️ 2022-06-22 16:46:48.089464
result = now + timedelta[minutes=25]
print[result] # 👉️ 2022-06-22 17:11:48.089464
print[result.time[]] # 👉️ 17:11:48.089464
# 👇️ format as HH:MM:SS
print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Lớp
2 có thể được thông quaCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
>>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
1, >>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
2, >>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
3, >>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
4, >>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
5, >>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
6 và >>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
7 làm đối số.Tất cả các đối số là tùy chọn và mặc định là
>>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
8.Tốt nhất là chỉ sử dụng các đối số từ khóa trong một cuộc gọi đến lớp
2 vì thứ tự của các đối số có thể gây nhầm lẫn.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Chúng tôi chỉ cung cấp một giá trị cho đối số
>>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
4 trong ví dụ.Chúng ta cần sử dụng một đối tượng Copied!
5 vì nó tự động lăn trong các giờ, ngày, tháng và năm nếu cần thiết.from datetime import datetime, timedelta
now = datetime.now[]
print[now] # 👉️ 2022-06-22 16:46:48.089464
result = now + timedelta[minutes=25]
print[result] # 👉️ 2022-06-22 17:11:48.089464
print[result.time[]] # 👉️ 17:11:48.089464
# 👇️ format as HH:MM:SS
print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Điều này sẽ không thể xảy ra nếu chúng ta chỉ có thành phần thời gian. Ví dụ,
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
2 + def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
3 phút sẽ tăng một ngoại lệ.Nếu bạn chỉ cần trích xuất thời gian sau khi hoạt động, hãy gọi phương thức
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
4 trên đối tượng 5.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Phương thức DateTime.time trả về một đối tượng thời gian với cùng một giờ, phút, thứ hai và mili giây.
Nếu bạn cần có thời gian được định dạng là
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
6, hãy sử dụng một chuỗi được định dạng theo nghĩa đen.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Các chuỗi chữ được định dạng [F-Strings] Hãy cho chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách tiền tố chuỗi với
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
7.Hãy chắc chắn để bọc các biểu thức trong niềng răng xoăn -
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
8.Các chuỗi chữ được định dạng cũng cho phép chúng tôi sử dụng ngôn ngữ nhỏ đặc tả định dạng trong các khối biểu thức.
Cho giá trị
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
9 trong Python, có cách nào tiêu chuẩn để thêm số nguyên giây vào nó, để import datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
0 + 3 = import datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
1 chẳng hạn?Những ý tưởng rõ ràng này không hoạt động:
>>> datetime.time[11, 34, 59] + 3
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'int'
>>> datetime.time[11, 34, 59] + datetime.timedelta[0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.timedelta'
>>> datetime.time[11, 34, 59] + datetime.time[0, 0, 3]
TypeError: unsupported operand type[s] for +: 'datetime.time' and 'datetime.time'
Cuối cùng, tôi có các chức năng bằng văn bản như thế này:
def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
Tôi không thể không nghĩ rằng tôi đang thiếu một cách dễ dàng hơn để làm điều này.
Có liên quan
- Python Time + Timedelta tương đương
hỏi ngày 19 tháng 9 năm 2008 lúc 7:19Sep 19, 2008 at 7:19
Paul Stephensonpaul StephensonPaul Stephenson
66K9 Huy hiệu vàng49 Huy hiệu bạc51 Huy hiệu Đồng9 gold badges49 silver badges51 bronze badges
1
Bạn có thể sử dụng các biến
5 đầy đủ vớiCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2 và bằng cách cung cấp một ngày giả sau đó sử dụngCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
import datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
4 để chỉ nhận được giá trị thời gian.Ví dụ:
import datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
Kết quả trong hai giá trị, cách nhau ba giây:
11:34:59
11:35:02
Bạn cũng có thể chọn cách dễ đọc hơn
b = a + datetime.timedelta[seconds=3]
Nếu bạn rất nghiêng.
Nếu bạn theo sau một chức năng có thể làm điều này, bạn có thể xem xét bằng cách sử dụng
import datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
5 bên dưới:import datetime
def addSecs[tm, secs]:
fulldate = datetime.datetime[100, 1, 1, tm.hour, tm.minute, tm.second]
fulldate = fulldate + datetime.timedelta[seconds=secs]
return fulldate.time[]
a = datetime.datetime.now[].time[]
b = addSecs[a, 300]
print[a]
print[b]
Điều này ra:
09:11:55.775695
09:16:55
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 7:54Sep 19, 2008 at 7:54
Paxdiablopaxdiablopaxdiablo
831K229 Huy hiệu vàng1550 Huy hiệu bạc1922 Huy hiệu Đồng229 gold badges1550 silver badges1922 bronze badges
2
Như những người khác đã nêu, bạn chỉ có thể sử dụng các đối tượng DateTime đầy đủ trong suốt:
0Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Tuy nhiên, tôi nghĩ rằng nó đáng để giải thích tại sao các đối tượng DateTime đầy đủ được yêu cầu. Hãy xem xét những gì sẽ xảy ra nếu tôi thêm 2 giờ vào 11 giờ tối. Hành vi chính xác là gì? Một ngoại lệ, vì bạn không thể có thời gian lớn hơn 11:59 tối? Nó có nên quấn lại xung quanh không?
Các lập trình viên khác nhau sẽ mong đợi những điều khác nhau, vì vậy bất kỳ kết quả nào họ chọn sẽ gây ngạc nhiên cho rất nhiều người. Tệ hơn nữa, các lập trình viên sẽ viết mã hoạt động tốt khi họ kiểm tra nó ban đầu, và sau đó bị phá vỡ sau đó bằng cách làm điều gì đó bất ngờ. Điều này rất tệ, đó là lý do tại sao bạn không được phép thêm các đối tượng Timedelta vào các đối tượng thời gian.
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 13:47Sep 19, 2008 at 13:47
Eli Courtwrighteli CourtwrightEli Courtwright
Phim thương hiệu vàng 180K6666 gold badges209 silver badges256 bronze badges
2
Một điều nhỏ, có thể thêm độ rõ để ghi đè giá trị mặc định cho giây
1Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 8:08Sep 19, 2008 at 8:08
0
Cảm ơn @Pax Diablo, @bvmou và @AchNID vì đề xuất sử dụng các dữ liệu đầy đủ trong suốt. Nếu tôi phải chấp nhận các đối tượng DateTime.
2Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Mã dài dòng này có thể được nén vào một lớp này:
3Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Nhưng tôi nghĩ rằng tôi muốn kết thúc nó trong một chức năng cho sự rõ ràng của mã.
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 9:40Sep 19, 2008 at 9:40
Paul Stephensonpaul StephensonPaul Stephenson
66K9 Huy hiệu vàng49 Huy hiệu bạc51 Huy hiệu Đồng9 gold badges49 silver badges51 bronze badges
0
Bạn có thể sử dụng các biến
5 đầy đủ vớiCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2 và bằng cách cung cấp một ngày giả sau đó sử dụngCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
import datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
4 để chỉ nhận được giá trị thời gian.Ví dụ:
Kết quả trong hai giá trị, cách nhau ba giây:
4Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Bạn cũng có thể chọn cách dễ đọc hơn
Nếu bạn rất nghiêng.Jan 18, 2018 at 7:30
user2387567user2387567user2387567
Nếu bạn theo sau một chức năng có thể làm điều này, bạn có thể xem xét bằng cách sử dụng
5 bên dưới:2 silver badges4 bronze badgesimport datetime
a = datetime.datetime[100,1,1,11,34,59]
b = a + datetime.timedelta[0,3] # days, seconds, then other fields.
print[a.time[]]
print[b.time[]]
1
Điều này ra:
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 7:54
5Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Paxdiablopaxdiablo
831K229 Huy hiệu vàng1550 Huy hiệu bạc1922 Huy hiệu Đồng
Như những người khác đã nêu, bạn chỉ có thể sử dụng các đối tượng DateTime đầy đủ trong suốt:Jul 27, 2011 at 3:49
Tuy nhiên, tôi nghĩ rằng nó đáng để giải thích tại sao các đối tượng DateTime đầy đủ được yêu cầu. Hãy xem xét những gì sẽ xảy ra nếu tôi thêm 2 giờ vào 11 giờ tối. Hành vi chính xác là gì? Một ngoại lệ, vì bạn không thể có thời gian lớn hơn 11:59 tối? Nó có nên quấn lại xung quanh không?rescdsk
Các lập trình viên khác nhau sẽ mong đợi những điều khác nhau, vì vậy bất kỳ kết quả nào họ chọn sẽ gây ngạc nhiên cho rất nhiều người. Tệ hơn nữa, các lập trình viên sẽ viết mã hoạt động tốt khi họ kiểm tra nó ban đầu, và sau đó bị phá vỡ sau đó bằng cách làm điều gì đó bất ngờ. Điều này rất tệ, đó là lý do tại sao bạn không được phép thêm các đối tượng Timedelta vào các đối tượng thời gian.4 gold badges34 silver badges32 bronze badges
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 13:47
Eli Courtwrighteli CourtwrightPhim thương hiệu vàng 180K66Oct 9, 2017 at 19:41
Một điều nhỏ, có thể thêm độ rõ để ghi đè giá trị mặc định cho giây
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 8:08
7Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Cảm ơn @Pax Diablo, @bvmou và @AchNID vì đề xuất sử dụng các dữ liệu đầy đủ trong suốt. Nếu tôi phải chấp nhận các đối tượng DateTime.Jan 27, 2021 at 13:44
Mã dài dòng này có thể được nén vào một lớp này:VengaVenga
Copied!
31 gold badge7 silver badges12 bronze badgesfrom datetime import datetime, timedelta
now = datetime.now[]
print[now] # 👉️ 2022-06-22 16:46:48.089464
result = now + timedelta[minutes=25]
print[result] # 👉️ 2022-06-22 17:11:48.089464
# ✅ only get updated time
print[result.time[]] # 👉️ 17:11:48.089464
Nhưng tôi nghĩ rằng tôi muốn kết thúc nó trong một chức năng cho sự rõ ràng của mã.
8Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 9:40
Bạn không thể chỉ cần thêm số vào
5 vì không rõ đơn vị nào được sử dụng: giây, giờ, tuần ...Mar 30 at 8:52Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2
Có lớp
2 cho các thao tác với ngày và giờ.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5 trừCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5 choCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2,Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5 cộng vớiCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2 choCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5, hai đối tượngCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
5 không thể được thêm vào mặc dù haiCopied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
2 có thể.Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Đã trả lời ngày 19 tháng 9 năm 2008 lúc 7:29Sep 19, 2008 at 7:29
Nick Johnsonnick JohnsonNick Johnson
100K16 Huy hiệu vàng128 Huy hiệu bạc197 Huy hiệu đồng16 gold badges128 silver badges197 bronze badges
Câu hỏi cũ, nhưng tôi hình dung tôi sẽ ném vào một chức năng xử lý thời gian.Các phần chính đang chuyển thuộc tính
import datetime
def addSecs[tm, secs]:
fulldate = datetime.datetime[100, 1, 1, tm.hour, tm.minute, tm.second]
fulldate = fulldate + datetime.timedelta[seconds=secs]
return fulldate.time[]
a = datetime.datetime.now[].time[]
b = addSecs[a, 300]
print[a]
print[b]
3 của đối tượng def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
9 vào kết hợp, và sau đó sử dụng import datetime
def addSecs[tm, secs]:
fulldate = datetime.datetime[100, 1, 1, tm.hour, tm.minute, tm.second]
fulldate = fulldate + datetime.timedelta[seconds=secs]
return fulldate.time[]
a = datetime.datetime.now[].time[]
b = addSecs[a, 300]
print[a]
print[b]
4 thay vì def add_secs_to_time[timeval, secs_to_add]:
secs = timeval.hour * 3600 + timeval.minute * 60 + timeval.second
secs += secs_to_add
return datetime.time[secs // 3600, [secs % 3600] // 60, secs % 60]
4 trên Datetime giả.Câu trả lời này một phần lấy cảm hứng từ các câu trả lời khác ở đây.9Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 # ✅ only get updated time print[result.time[]] # 👉️ 17:11:48.089464
Và đây là một lớp trường hợp thử nghiệm thực sự đơn giản [sử dụng
import datetime
def addSecs[tm, secs]:
fulldate = datetime.datetime[100, 1, 1, tm.hour, tm.minute, tm.second]
fulldate = fulldate + datetime.timedelta[seconds=secs]
return fulldate.time[]
a = datetime.datetime.now[].time[]
b = addSecs[a, 300]
print[a]
print[b]
6 tích hợp]:0Copied!
from datetime import datetime, timedelta now = datetime.now[] print[now] # 👉️ 2022-06-22 16:46:48.089464 result = now + timedelta[minutes=25] print[result] # 👉️ 2022-06-22 17:11:48.089464 print[result.time[]] # 👉️ 17:11:48.089464 # 👇️ format as HH:MM:SS print[f'{result:%H:%M:%S}'] # 👉️ 17:11:48
Đã trả lời ngày 14 tháng 8 năm 2019 lúc 15:58Aug 14, 2019 at 15:58
Blthayerblthayerblthayer
6941 Huy hiệu vàng6 Huy hiệu bạc16 Huy hiệu đồng1 gold badge6 silver badges16 bronze badges