Вызов
Преобразуйте и распечатайте время в 12-часовом формате. HH:MM AM/PM
Примеры
Входные данные:
'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
Тонкие Очки
Ноль перед однозначным числом в порядке , ноль также не допускается. Следующие примеры оба разрешены :
9:06 AM
09:06 AM
Все проверенные годы будут после
999
(каждый год будет точно4
цифрой)
правила
- Это код-гольф, поэтому выигрывает самое короткое решение в байтах
- Применяются стандартные лазейки
- Вы можете использовать функции, а также программы
00:10:23 --> 12:10 AM
и12:10:23 --> 12:10 PM
.'Fri Jun 30 2017 21:14:20 GMT-0400 (EDT)'
для меня)Ответы:
JavaScript (ES6), 69 байт
Показать фрагмент кода
JavaScript (ES6),
5855 байтПредполагается, что вы находитесь в Соединенных Штатах.
Показать фрагмент кода
JavaScript (ES6),
8178 байтОтвет перед выводом ведущего 0 в однозначных часах был сделан необязательным, и были добавлены контрольные примеры без ведущих 0.
Показать фрагмент кода
источник
${m>12?'P':'A'}M
на${"AP"[m>12]}M
, но это не работает без приведения индекса к целому числу (как с|0
), что делает его такой же длины. Красиво в гольф.,21
в срез, чтобы сохранить 3 байта.Fri Jun 30 2017 12:10:23 GMT-0700 (PDT)
. Должно быть в личку. Изменениеm>12
кm>11
следует исправить.d=>(new Date(d).toLocaleString(0,{hour:'numeric',minute:'numeric',hour12:1}))
d=>(new Date(d).toLocaleTimeString().replace(/:\d+/,''))
Python 2 , 66 байт
Попробуйте онлайн!
источник
int(s[15:18])>11
наs[15:18]>"11"
?sh + coreutils, 22 байта
(Если разрешены секунды, то
date +%r -d"$1"
достаточно.)источник
JavaScript (ES6), 77 байт
Предполагается, что год состоит из 4 цифр.
Контрольные примеры
Показать фрагмент кода
источник
d=>(new Date(d).toLocaleTimeString().replace(/:\d+/,''))
en-US
и ваш часовой поясGMT-0700 (PDT)
. Например, ни одно из этих предположений не верно для меня.Japt , 15 байт
Попробуйте онлайн!
12 байт, если мы можем предположить, что время будет указано по местному времени компьютера:
Попробуйте онлайн!
Мати подход, 40 байт
Проверьте это онлайн!
источник
V , 36 байт
Попробуйте онлайн!
HexDump:
источник
PHP, 45 байт
Ответ улучшился благодаря манату
Первая попытка:
Пример использования через php CLI:
Это моя первая попытка игры в гольф.
источник
$d
и таким образом вы не можете избавиться от явногоecho
:<?=(new DateTime($argv[1]))->format('h:i A');
.Желе , 43 байта
Попробуйте онлайн!
Это слишком долго ! То есть желе отстой во время манипуляции.
РЕДАКТИРОВАТЬ: я даже превзошел PHP!
источник
Go, 103 байта
Проверьте здесь: https://play.golang.org/p/P1zRWGske-
источник
05AB1E , 39 байт
Попробуйте онлайн!
источник
PHP , 42 байта
Попробуйте онлайн!
источник
C #, 145 байт
Полная / Отформатированная версия:
источник
,,,, 41 байт
объяснение
WIP
источник
MATL , 9 байт
Попробуйте это в MATL онлайн! Или проверьте все тестовые случаи .
объяснение
источник
XO
выполняет большую часть работы