Kỳ nghỉ PPCG của tôi đã kết thúc: D
Giới thiệu
Thời gian phân số là the year + (the value (minute of year) / number of minutes in the year)
.
Tính toán ví dụ
Bạn nên cho rằng tháng hai luôn có 28 ngày và năm luôn dài 365 ngày.
Giả sử chúng ta muốn chuyển đổi thời gian: 17:34 3rd March 2013
thành thời gian phân số. Đầu tiên, bạn tìm thấy có bao nhiêu phút trong năm 2013: 525600 phút . Hãy gọi nó là x
.
Tiếp theo, bạn muốn tìm hiểu đã có bao nhiêu phút kể từ đầu năm 2013. Một vài tính toán nhanh sẽ cho bạn biết rằng câu trả lời là 88894 phút:
Đã có 61 ngày kể từ đầu năm, gấp 1440 lần (số phút trong một ngày) bằng 87840 phút. Trong 17 giờ là 1020 phút (17 * 60). Bây giờ, chúng ta có thể thêm 87840, 1020 và 34 phút để bằng 88894 phút.
Hãy gọi nó là y
.
Cuối cùng, bạn chia y
cho x
và thêm năm, kết quả là 2013.16912
(đến 5 chữ số thập phân).
Đầu vào
Ngày và thời gian sẽ được cung cấp dưới dạng một chuỗi. Chuỗi sẽ có định dạng sau:
YYYY-MM-DD hh:mm
Thời gian sẽ luôn ở định dạng 24 giờ và năm sẽ luôn nằm trong phạm vi 1900-2050.
Ví dụ
Input: 2016-08-06 23:48
Output: 2016.59723
Input: 2013-03-03 17:34
Output: 2013.16912
Input: 1914-11-11 11:11
Output: 1914.86155
Nếu bạn đang kiếm tiền thưởng, hãy ping tôi trong phần bình luận hoặc trong The Nineteenth Byte .
Thử thách
Tính ngày và thời gian đã cho dưới dạng năm phân số.
Cung cấp tất cả đầu ra cho năm vị trí thập phân (bạn có thể làm tròn bằng bất cứ cách nào bạn muốn: sàn, trần hoặc làm tròn thực sự). Mã ngắn nhất sẽ thắng.
Tiền thưởng
Tôi đang cung cấp một tiền thưởng 100 rep cho chương trình ngắn nhất cũng chấp nhận ngày ở định dạng năm phân số và trả về thời gian ở YYYY-MM-DD hh:mm
định dạng. Về bản chất, chương trình (hoặc chức năng) của bạn phải hành động theo cách sau:
f('1914-11-11 11:11') => 1914.86155
f('1914.86155') => 1914-11-11 11:11
Bảng xếp hạng
For this, assume February has 28 days and the year is 365 days long.
, nhưng cũng vậy... using the Gregorian calendar.