Mới có cuốn tài liệu [mới down của anh @david15894 thì phải], bỏ qua những câu dễ [những câu căn bản mà em đã làm cả chục lần để nhớ cái ý tưởng], em gặp câu này:
Một thiết bị hoạt động được t giây. Hãy viết chương trình chuyển số giây đó dưới dạng số giờ, số phút và số giây. VD Nhap vao so giay thiet bi hoat dong: 61 Thiet bi hoat dong duoc 0 gio 1 phut 1 giay.
Mọi người giúp em bài này
Thanks
Ý tưởng 1h = 60 phút, 1phút=60s, bạn cứ chia cho 60. VD: 61/60 = 1 dư 1, 150s = 150/60 = 2dư30 = 2phút30s. Nếu là giờ thì chia 3600.
Có S là số giây nhập vào:
- giờ = s/3600
- phút = s%3600/60
- giây = s%3600%60
Cám ơn mọi người, em đi lấy s - 3600, 60 xem nó có âm không nên nghĩ mãi không giải quyết được
1 Like
Bạn xem thử đoạn code này. Mới nghĩ ra , có lỗi gì thì fix lại giúp mình.
#include int main[]{ int gio=0,giay=0,phut=0; printf["Nhap so giay :"]; scanf["%d",&giay]; if[giay=60&&giay>> t1 = [hours= 10, minutes = 3, seconds = 12]
t2 = [hours = 12, seconds= 2]
t3 = [hours = 1, minutes = 4]
>>> t1 = [hours= 11, minutes = 56, seconds = 2]
t1 = i * t2
t2 = [hours = 10, seconds= 2]
i = 3
>>> t1 = [days =1, hours = 6, seconds= 6]
t2 = [hours = 25, seconds= 2]
>>> t1 = [days: 1, hours: 1, seconds: 2]
Trả về t1
t1 = [hours = 10, seconds= 2]
>>> -t1 = [days = -1, hours = 13, minutes = 59, seconds= 58]
t = [hours= -25, minutes = 3]
>>> t = [days = -2, hours = 23, minutes = 3]
>>> abs[t] = [days = 1, hours = 0, minutes = 57]
Định dạng thời gian Python
Ngày tháng và thời gian được sử dụng ở những dạng khác nhau, Mỹ sử dụng định dạng mm/dd/yyyy, trong khi dd/mm/yyyy phổ biến hơn ở Anh.
Python có các phương thức strftime[] và strptime[] để xử lý việc này.
strftime[] - định dạng thời gian thành một string.
Ví dụ 11: Định dạng ngày tháng sử dụng strftime[]
from datetime import datetime
# ngày giờ hiện tại
now = datetime.now[]
t = now.strftime["%H:%M:%S"]
print["time:", t]
s1 = now.strftime["%m/%d/%Y, %H:%M:%S"]
# định dạng mm/dd/YY H:M:S
print["s1:", s1]
s2 = now.strftime["%d/%m/%Y, %H:%M:%S"]
# định dạng dd/mm/YY H:M:S
print["s2:", s2]
Chương trình trả về kết quả là:
time: 04:34:52
s1: 03/07/2019, 04:34:52
s2: 07/03/2019, 04:34:52
Ở đây %Y, %m, %d, %H... là các tham số định dạng. Phương thức strftime[] sử dụng để trả về một chuỗi được định dạng dựa trên các tham số đó.
Phạm vi tham số:
- %Y - year [0001,..., 2018, 2019,..., 9999]
- %m - month [01, 02, ..., 11, 12]
- %d - day [01, 02, ..., 30, 31]
- %H - hour [00, 01, ..., 22, 23
- %M - month [00, 01, ..., 58, 59]
- %S - second [00, 01, ..., 58, 59]
strptime[] - phân tích một string thành thời gian
from datetime import datetime
date_string = "7 March, 2019"
print["date_string =", date_string]
date_object = datetime.strptime[date_string, "%d %B, %Y"]
print["date_object =", date_object]
Khi bạn chạy chương trình, kết quả trả về là:
date_string = 7 March, 2019
date_object = 2019-03-07 00:00:00
Hiển thị múi giờ trong Python
Giả sử, bạn đang làm việc trên một dự án và cần hiển thị ngày giờ dựa trên múi giờ mình cần. Thay vì cố gắng tự search và tìm kiếm múi giờ, bạn nên sử dụng module pytZ như sau:
from datetime import datetime
import pytz
local = datetime.now[]
print["Local:", local.strftime["%m/%d/%Y, %H:%M:%S"]]
tz_NY = pytz.timezone['America/New_York']
datetime_NY = datetime.now[tz_NY]
print["NY:", datetime_NY.strftime["%m/%d/%Y, %H:%M:%S"]]
tz_London = pytz.timezone['Europe/London']
datetime_London = datetime.now[tz_London]
print["London:", datetime_London.strftime["%m/%d/%Y, %H:%M:%S"]]
Chạy chương trình, kết quả trả về là:
Local time: 2019-03-07 13:10:44.260462
America/New_York time: 2019-03-07 13:10:44.260462
Europe/London time: 2019-03-07 13:10:44.260462
Ở ví dụ này, datetime_NY và datetime_London là các đối tượng datetime chứa ngày và giờ hiện tại của múi giờ tương ứng.