Tantangan
Konversikan dan cetak waktu dalam format 12 jam. HH:MM AM/PM
Contohnya
Memasukkan:
'Fri Jun 30 2017 21:14:20 GMT-0700 (PDT)'
'Fri Jun 30 2017 00:10:23 GMT-0700 (PDT)'
'Fri Jun 30 2017 12:10:23 GMT-0700 (PDT)'
'Sat Jun 31 2018 8:06:20 GMT-0700 (PDT)'
'Fri Jul 01 2017 01:14:20 GMT-0700 (PDT)'
'Sat Apr 10 2020 09:06:20 GMT-0700 (PDT)'
Ouput:
9:14 PM
12:10 AM
12:10 PM
08:06 AM
1:14 AM
09:06 AM
Poin Baik
Angka nol sebelum angka satu digit tidak apa-apa , tidak ada nol juga diperbolehkan. Contoh berikut diperbolehkan :
9:06 AM
09:06 AM
Semua tahun yang diuji akan setelah
999
(setiap tahun akan persis4
digit)
Aturan
- Ini adalah kode-golf sehingga solusi terpendek dalam byte menang
- Celah Standar Berlaku
- Anda dapat menggunakan fungsi dan program
00:10:23 --> 12:10 AM
dan12:10:23 --> 12:10 PM
.'Fri Jun 30 2017 21:14:20 GMT-0400 (EDT)'
untuk saya)Jawaban:
JavaScript (ES6), 69 byte
Tampilkan cuplikan kode
JavaScript (ES6),
5855 byteAsumsikan Anda berada di Amerika Serikat.
Tampilkan cuplikan kode
JavaScript (ES6),
8178 byteJawaban sebelum mengeluarkan 0 di depan dalam satu digit jam dibuat opsional dan uji kasus tanpa 0 di depan ditambahkan.
Tampilkan cuplikan kode
sumber
${m>12?'P':'A'}M
untuk${"AP"[m>12]}M
, tetapi tidak bekerja tanpa casting indeks ke integer (seperti dengan|0
), yang membuatnya panjang yang sama. Bagus bermain golf.,21
di slice untuk menghemat 3 byte.Fri Jun 30 2017 12:10:23 GMT-0700 (PDT)
. Seharusnya PM. Mengubahm>12
kem>11
harus memperbaikinya.d=>(new Date(d).toLocaleString(0,{hour:'numeric',minute:'numeric',hour12:1}))
d=>(new Date(d).toLocaleTimeString().replace(/:\d+/,''))
Python 2 , 66 byte
Cobalah online!
sumber
int(s[15:18])>11
kes[15:18]>"11"
?sh + coreutils, 22 byte
(Jika detik diizinkan,
date +%r -d"$1"
cukuplah.)sumber
JavaScript (ES6), 77 byte
Diasumsikan bahwa tahun memiliki 4 digit.
Uji kasus
Tampilkan cuplikan kode
sumber
d=>(new Date(d).toLocaleTimeString().replace(/:\d+/,''))
en-US
Anda dan zona waktu AndaGMT-0700 (PDT)
. Sebagai contoh, tidak ada asumsi ini yang benar bagi saya.Japt , 15 byte
Cobalah online!
12 byte jika kita dapat mengasumsikan bahwa waktu akan diberikan dalam waktu lokal komputer:
Cobalah online!
Pendekatan Mathy, 40 byte
Uji secara online!
sumber
V , 36 byte
Cobalah online!
Hexdump:
sumber
PHP, 45 byte
Jawaban ditingkatkan berkat manatwork
Percobaan pertama:
Contoh penggunaan melalui php CLI:
Ini adalah percobaan golf pertama saya.
sumber
$d
dan dengan cara itu Anda bisa menyingkirkan eksplisitecho
:<?=(new DateTime($argv[1]))->format('h:i A');
.Jelly , 43 byte
Cobalah online!
Ini terlalu lama ! Yaitu, Jelly mengisap manipulasi waktu.
EDIT: Saya bahkan kalah oleh PHP!
sumber
Pergi, 103 byte
Uji di sini: https://play.golang.org/p/P1zRWGske-
sumber
05AB1E , 39 byte
Cobalah online!
sumber
PHP , 42 byte
Cobalah online!
sumber
C #, 145 byte
Versi Lengkap / Terformat:
sumber
,,,, 41 byte
Penjelasan
WIP
sumber
MATL , 9 byte
Cobalah di MATL online! Atau verifikasi semua kasus uji .
Penjelasan
sumber
XO
melakukan sebagian besar pekerjaan