Liburan PPCG saya selesai: D
Intro
Waktu pecahan adalah the year + (the value (minute of year) / number of minutes in the year)
.
Contoh perhitungan
Anda harus berasumsi bahwa Februari selalu memiliki 28 hari dan tahun selalu 365 hari.
Katakanlah kita ingin mengubah waktu: 17:34 3rd March 2013
ke waktu fraksional. Pertama, Anda menemukan berapa menit pada 2013: 525600 menit . Sebut ini x
.
Selanjutnya, Anda ingin mengetahui berapa menit yang sudah ada sejak awal 2013. Beberapa perhitungan cepat akan memberi tahu Anda bahwa jawabannya adalah 88894 menit:
Sudah ada 61 hari sejak awal tahun, yang kali 1440 (jumlah menit dalam sehari) sama dengan 87.840 menit. Dalam 17 jam adalah 1020 menit (17 * 60). Sekarang, kita dapat menambahkan 87.840, 1020 dan 34 menit menjadi sama dengan 88.894 menit.
Sebut ini y
.
Akhirnya, Anda membagi y
dengan x
dan menambahkan tahun, menghasilkan 2013.16912
(ke 5 tempat desimal).
Memasukkan
Tanggal dan waktu akan diberikan sebagai string tunggal. String akan berada dalam format berikut:
YYYY-MM-DD hh:mm
Waktu akan selalu dalam format 24 jam dan tahun akan selalu berada dalam kisaran 1900-2050 inklusif.
Contohnya
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
Jika Anda mencari hadiahnya, ping saya di komentar atau di The Nineteenth Byte .
Tantangan
Hitung tanggal dan waktu yang diberikan sebagai tahun pecahan.
Berikan semua output ke lima tempat desimal (Anda dapat membulatkannya sesuai keinginan: lantai, langit-langit, atau pembulatan sejati). Kode terpendek menang.
Karunia
Saya menawarkan hadiah 100 rep untuk program terpendek yang juga menerima tanggal dalam format tahun pecahan dan mengembalikan waktu dalam YYYY-MM-DD hh:mm
format. Intinya, program Anda (atau fungsi) harus bertindak dengan cara berikut:
f('1914-11-11 11:11') => 1914.86155
f('1914.86155') => 1914-11-11 11:11
Papan peringkat
For this, assume February has 28 days and the year is 365 days long.
, tetapi juga... using the Gregorian calendar.