몇시입니까?


18

나는 이것이 아직 코드 골프에 대한 질문이 아니라고 솔직히 믿을 수는 없지만 ....

로컬 시간 (am 또는 pm으로)을 "It 's"로 시작하여 콘솔에 문자열로 인쇄하십시오.

예:

Run code....

산출:

It's 12:32p.m.

가장 짧은 코드가 승리합니다.

멀리 떨어져!

리더 보드


1
출력 형식은 무엇입니까? 상관이 있나?
mbomb007

1
아니, yyyy-MM-dd hh:mm:ss UTC그 날짜 형식이 중요하지 않습니까?
mbomb007

8
나는 정말로 인쇄하는 답을 내고 싶었지만 It's beer o'clock저항했다.
MickyT

4
우리가 사용할 수 12:32 PM또는 12:32PM? 대신에 12:32p.m.?
Stewie Griffin

3
10:00 미만인 경우 02:32 또는 2:32입니까?
Stewie Griffin

답변:


18

배쉬, 39 33 바이트

date "+It's %I:%M%P."|sed s/m/.m/

사양이 필요하기 때문에 문자의 무리 낭비 a.m.또는 p.m.동안 date출력 am하거나 pm. 6 바이트를 절약 한 @DigitalTrauma에게 감사합니다!

이것은 휴대하기가 쉽지 않을 수 있습니다. 우분투 15.04에서 작동합니다.

Ruby에서 본질적으로 동일한 방법을 사용하는 솔루션 은 놀랍게도 정확히 동일한 길이입니다 .

루비, 39 바이트

$><<`date "+It's %I:%M%P"`[0..-3]+'.m.'

%P대문자 AM 또는 PM을 제공합니다. 차이가 나는 경우 Mac에 있습니다.
flodel

@flodel은 My Machine ™에서 작동합니다. Ubuntu 15.04에서 %P소문자를 %p제공하고 대문자를 제공합니다 (약간 직관적이지 않습니다).
Doorknob

POSIX에서 지정한 기능 세트를 벗어나면 GNU date(Linux 등)와 * BSD date(OSX는 하나의 BSD 변형)와 옵션과 동작이 크게 다릅니다. 따라서이 답변은 Linux의 Bash를 구체적으로 언급해야합니다. (이것도 마찬가지입니다 sed; 그러나이 특별한 호출은 안전하고 휴대 가능한 기능 세트 내에서 확실합니다.)
tripleee

내 컴퓨터 (Linux의 경우 zsh 또는 bash)에서 "It 's 04:17"을 인쇄합니다. 시간이 16:17 일 때 "am"또는 "pm"없음
8

echo -e "It's $(date +%I:%M%P)\b.m."- sed백 스페이스 대신 사용합니다. 나에게 별도의 답변처럼 보이지 않습니다. 또한 오전 / 오후가 없지만 로케일 때문이라고 생각합니다.
aragaer

13

애플 스크립트, 198

AppleScript 때문입니다. 왜 안되나요?

set AppleScript's text item delimiters to {":"," "}
set d to (current date)'s time string's every text item
"It's "&d's item 1&":"&d's item 2&string id ((d's item 4's first character's id)+32)&".m."

그것은 고통 스러웠다.


18
AppleScript는 새로운 Java입니다.
Doorknob

8

PHP, 35 33 바이트

작업에 잘못된 도구를 사용하고 있습니다!

It's <?=trim(date('h:ia'),m)?>.m.

점을 추가하기 위해 또는 m끝에서 를 제거하기 만하면 됩니다. 날짜는로 , 날짜는로 됩니다 .ampm00:00amtrim00:00a


기존 답변 (PHP 5.4+ 만 해당) :

It's <?=date('h:i'),date(a)[0]?>.m.

이것은 함수에서 반환 된 값을 역 참조 할 수 있기 때문에 작동합니다. PHP5.3 또는 그 이전 버전에서는 불가능합니다.


아, 영리하다! 당신은 내 PHP는 대답 이길
DankMemes

@DankMemes 꽤 오래 걸렸습니다. 그리고 많은 실험.
Ismael Miguel

따옴표없이 문자열 리터럴을 사용했습니다. @연산자가 없는 사람들을 사용 하고 사람들이 그것을 실행할 것이라고 가정 해도 괜찮 error_reporting(0)습니까?
DankMemes

@DankMemes 오류보고가 비활성화되어 있다고 간접적으로 가정 할 수 있습니다. 여기에 좋은 읽기는 다음과 같습니다 meta.codegolf.stackexchange.com/a/1655/14732은
이스마엘 미구엘

5

비쥬얼 베이직 6 / VBA, 42 41 바이트

MsgBox"It's "&Format(Now,"h:mma/p")&".m."

MsgBoxVB6에는 콘솔이 없으므로을 사용 하십시오 (링크를 차단하고 콘솔 실행 파일로 링크하고 일부 Windows API 해킹을 사용하고 다른 피하기 작업을 수행하지 않는 한 ).


3
왜 당신은 대체하지 않습니다 m에 의해 .m.? Debug.Print Replace(Format(Now,"hh:mm am/pm"),"m",".m.")
CompuChip

멋진 @ 칫솔, 나는 이것이 CJam에서 1 바이트 솔루션 일 것으로 예상했다.)
CompuChip

4

R, 68 , 59 62 60 55

cat("It's",sub("m",".m",format(Sys.time(),"%I:%M%P.")))

(코멘트에 대한 @ Alex.A 감사합니다. 그리고 @flodel) 현재의 시스템 시간 (소요 Sys.time()), 올바르게 사용하는 형식의 %I:%M%P조합은, 마지막에 점을 추가를하고, 대체 m와 함께 .m..


4

줄리아, 74 54 43 바이트

print(strftime("It's %I:%M%P\b.m.",time()))

당신은 할 수 있습니다 온라인으로보십시오 !

time()함수는 현재 시간을 반환합니다. 전달하면 strftime형식으로 %I:%M%P,이 결과 HH:MMam/pm시간이 12 시간 단위이다. 우리는 하나 개의 문자를 백업 \b을 제거하는 m후행를 떠나, a또는 p다음 압정을 .m.말에.

Glen O 덕분에 31 바이트를 절약했습니다 !


이걸 제안해도 될까요? print("It's ",strftime("%r%P",time())[[1:5,12]],".m.")- %P비교 및 split 명령을 피하기 위해 소문자 am / pm을 추가하는 데 사용 합니다.
Glen O

도움에 관한 문제는 없습니다. 그리고 스스로 말을하지 마십시오 – 당신은 잘합니다. 코드에서 모든 마지막 바이트를 짜내려고 시도하는 것만으로도 즐거움을 얻습니다. 이 경우에는 split 명령을 무시하고 조건문을 사용하면 도움이 될 것이라고 생각한 다음 사용한 함수를 살펴 보았습니다. 아마 strftime을 직접 찾지 못했을 것입니다 (에서 직접 시간을 추출하려고 시도했을 것입니다 time())
Glen O

1
@GlenO 코드에서 모든 마지막 바이트를 짜내는 즐거움을 누리면 PPCG가 가장 적합한 곳입니다.
Alex A.

덧붙여서, 나는 몇 바이트를 더 짜내는 방법을 찾았다.print(strftime("It's %I:%M%P",time())[1:11],".m.")
Glen O

실제로, 더 나은 :print(strftime("It's %I:%M%P\b.m.",time()))
Glen O

3

하스켈, 135 바이트

import Data.Time.Format
import Data.Time.LocalTime
main=getZonedTime>>=putStr.(++".m.").init.formatTime defaultTimeLocale"It's %I:%M%P"

main5 바이트 길이 가 훨씬 더 재미 있습니다 .

getZonedTime>>=putStr.formatTime(TimeLocale[][]("a","p")""""""""[])"It's %I:%M%P.m."

또는 유닉스에서 66 바이트 :

import System.Cmd;main=system"date \"+It's %I:%M%P.\"|sed s/m/.m/"

3

Pyth, 38 36 바이트

s["It's "|%J.d6K12K\:.d7?gJK\p\a".m.

@Jakube 덕분에 2 바이트를 절약했습니다!


@ Sp3000 온라인 통역사 또는 현지?
kirbyfan64sos

@ Sp3000 문제를 알고 있다고 생각합니다. Pyth 서버의 위치 시간을 알려주고 자정을 올바르게 처리하지 못합니다. 잠시만 기다려
주세요

@ Sp3000 고정 !!!
kirbyfan64sos

내 PHP 답변과 Doorknob의 Bash 답변을 거의 꺾고 있습니다!
Ismael Miguel

3

MATLAB, 59 바이트

disp(sprintf('It''s%s\b.m.',lower(datestr(now,'HH:MMam'))))

오후 5시 38 분입니다.

시간과 오전 / 오후 사이에 공백이 허용되면 52 바이트 만큼 낮을 수 있습니다 .

disp(sprintf('It''s%s\b.m.',lower(datestr(now,16))))

오후 5시 39 분


나는 출력이되어야한다고 생각한다05:38p.m.
Ismael Miguel

OP의 의견에 따르면 선행 0은 중요하지 않습니다.
slvrbld

네가 옳아. 여기, 내 공감대를 가져라!
Ismael Miguel

좋은! 내가 그런 식으로 사용할 \b수 있다는 것을 몰랐다 . 당신은 여분의 공간이 필요합니다.
Stewie Griffin

3

Perl 5.10+, 58 62 바이트

localtime=~/(..)(:..)/;say"It's ",$1%12||12,$2,$1>11?p:a,".m."

-M5.010get 명령 행 플래그로 실행해야합니다 say.

나는 원래 솔루션에서 두 가지 중요한 사례를 설명하지 않았습니다 (즉, 00:**12:**). 추가 4 바이트의 비용으로 고정되었습니다.

작동 원리

스칼라 컨텍스트에서 localtime다음과 같은 문자열을 반환합니다.

Sat Sep 12 03:13:22 2015

분 필드는 이미 0으로 채워져있어 일부 바이트를 저장합니다 (목록 컨텍스트에서 localtime문자열 대신 숫자를 반환하므로 직접 입력해야합니다).

여기에 골퍼가 없습니다 :

localtime=~/(..)(:..)/;  # Store hour in $1 and minutes in $2
say"It's ",              # Print "It's " followed by...
   $1%12||12,            # hour in 12-hour format
   $2,                   # minutes
   $1>11?p:a,            # "p" if hour > 11, otherwise "a"
   ".m."'                # ".m."

Perl 5.14+, 57 바이트

(규칙을 약간 확장하기 때문에 재미로만 사용하십시오.)

say"It's ",(strftime"%l:%M%P",localtime)=~s/m/.m./r

51 바이트 + 6 바이트 -MPOSIX. -M5.010get 명령 줄 플래그로 실행해야 say합니다.

이 솔루션은 해당 지역에 따라 다르므로 일부 시스템에서는 작동하지 않습니다. 또한 POSIX 모듈을 사용합니다.이 모듈은 핵심 모듈이더라도 "내장"의 정의를 확장 할 수 있습니다.

r대체 연산자에 대한 비파괴 수정 자 에는 Perl 5.14+가 필요합니다 . 5.10 이상에서 작동하는 동등한 솔루션은 다음과 같습니다.

$_=strftime"%l:%M%P",localtime;chop;say"It's $_.m."

또한 57 바이트입니다 (의 경우 51 바이트 + 6 바이트 -MPOSIX).


3

펄 5, 74 바이트

변수가 오른쪽에서 왼쪽으로 평가되는 방법을 보여주는 작은 쇼케이스.

($s,$m,$h)=localtime;printf"It's %d:%02d%s.m.",$h<13?$h:$h%12,$m,$h<12?a:p

POSIX 사용 : 80 바이트

use POSIX;$_=strftime"It's %I:%Mx.m.",@_=localtime;$x=$_[1]<13?a:p;s/x/$x/;print

시간 로케일 종속 및 스위치와 함께 POSIX 사용 : 54 바이트 (48 + 6)

$_=strftime"It's %I:%M%P",localtime;s/m/.m./;say

테스트

$ export LC_TIME="en_DK.UTF-8"
$ perl -MPOSIX -M5.01 whatsthetimechap.pl
It's 3:09p.m.

1
당신은 사용하여 POSIX 솔루션에 대한 일부 바이트를 저장할 수 있습니다 -MPOSIX대신 use POSIX;에 당신의 전화에 괄호를 삭제 strftime하고 교체 print와 함께 say( -M5.010무료 ). 마지막 솔루션을 54 바이트로 줄입니다!
ThisSuitIsBlackNot

감사. 가장 짧은 POSIX 솔루션에 대한 조언을 사용했습니다.
LukStorms

1
여전히 -MPOSIX(6 바이트) 를 계산해야 하지만 괄호를 삭제하여 2 바이트를 절약 할 수 있습니다 $_=strftime"It's %I:%M%P",localtime;. 총 54 바이트를 제공하므로 57 바이트 POSIX 솔루션보다 여전히 낫습니다. 잘 했어!
ThisSuitIsBlackNot

몇 바이트를 구 해주셔서 다시 한 번 감사드립니다.
LukStorms 21 12:15

3

CJam, 40 바이트

"It's "et3=CmdCe|\'p'a?':et4=s2Ue[@".m."

CJam 통역사 에서 온라인으로 사용해보십시오 .

작동 원리

"It's " e# Push that string.
et3=    e# Select the fourth element of the date/time array (hours).
Cmd     e# Push quotient and remainder of the hour divided by 12.
Ce|     e# Logical OR with 12 to map 0 to 12.
\'p'a?  e# Select 'p' if the quotient is 1 and 'a' if it is 0.
':      e# Push that character.
et4=    e# Select the fifth element of the date/time array (minutes).
s2Ue[   e# Cast to string and left-pad with zeroes to a length of 2.
@".m."  e# Rotate 'a' or 'p' on top of the stack and push ".m.".

3

Mathematica 49 90 92 90 84 바이트

user202729 덕분에 -6 바이트

이 솔루션은 Mathematica에서 간단하지만 약간 장황합니다.

(d=DateString)@{"It's ","Hour12",":","Minute"}<>(d@"AMPM"/."AM"->"a.m."/."PM"->"p.m‌ .")

(이 게시물은 상당히 오래되었지만) StringReplace6 바이트를 절약 할 수 있습니다. (d=DateString)@{"It's ","Hour12",":","Minute"}<>d@"AMPM"/."AM"->"a.m."/."PM"->"p.m."
user202729

2

T-SQL (2012+), 67 65 바이트

SQL Server 2012는 마침내 날짜에 적합한 형식 지정 기능을 제공했습니다. 그래도 형식을 올바르게 얻으려면 AM / PM을 다루어야했습니다.

PRINT 'It''s '+LOWER(STUFF(FORMAT(GETDATE(),'hh:mmtt.'),7,0,'.'))

이전 버전에서는 이와 같은 것이 필요했을 것입니다 (93 바이트).

PRINT'It''s'+LOWER(STUFF(STUFF(RIGHT(CONVERT(VARCHAR,GETDATE(),109),15),6,7,''),8,0,'.'))+'.'

2

PHP, 49 바이트

유일한 경우였다 am/pm대신 a.m./p.m....

It's <?=@preg_replace(~Фž’¢Ð,~ÛÏÑ,date(~˜Å–ž));

약간의 길이를 절약하기 위해 많은 불쾌한 바이트를 사용 했으므로 여기에 16 진수가 있습니다.

00000000: 49 74 27 73 20 3C 3F 3D - 40 70 72 65 67 5F 72 65 |It's <?=@preg_re|
00000010: 70 6C 61 63 65 28 7E D0 - A4 9E 92 8F A2 D0 2C 7E |place(~       ,~|
00000020: DB CF D1 2C 64 61 74 65 - 28 7E 98 C5 96 9E 29 29 |   ,date(~    ))|
00000030: 3B                      -                         |;|
00000031;

읽을 수있는 버전 :

It's <?=preg_replace("/[amp]/", "$0.", date("g:ia"));

2

C, 103 94 바이트

int main(){time_t r;char b[80];time(&r);strftime(b,80,"It's %I:%M %p",localtime(&r));puts(b);}

언 골프

int main()
{
  time_t r;
  char b[80];  
  time(&r);
  strftime(b,80,"It's %I:%M %p",localtime(&r));
  puts(b);
}

2

PHP, 41 바이트

It's <?=strtr(date('g:ia'),['m'=>'.m.']);

나는 이것을 처음 연주했다. 이전 PHP 응답 (49 바이트)을 업데이트 / 편집 해야하는지 또는 내 자신을 추가 해야하는지 확실하지 않습니다 ...


당신은 항상 자신을 추가해야합니다. 몇 바이트를 절약 할 수있는 것을 볼 경우 누군가의 답변에 대해서만 의견을 말하십시오. 그러나 그 외에는 좋은 대답입니다!
Ismael Miguel

그건 그렇고, 당신 [m=>'.m.']은 2 바이트를 절약하는 쓸 수 있습니다 . (경고는 무시할 수 있으므로 걱정하지 마십시오.)
Ismael Miguel

2

SQL (PostgreSQL), 42 41 바이트

그러나 다른 SQL 변형은 쿼리에 있습니다.

select to_char(now(),'"It''s" HH:MIa.m.')

참고로 pm 또는 am은 am / pm 부분을 가져옵니다. PostgreSQL의 포맷 옵션은 정말 유연합니다. 팁 it's이 형식 문자열로 이동하는 @manatwork 덕분에 .

SQLFiddle


그래서 수동으로 오전 / 오후를 조정해야합니까?
David Arenburg

@DavidArenburg, 아니요, 어느 쪽도 맞습니다 ...하지만 제대로 보이지 않아서 확인해야했습니다. SQLFiddle에서 + time '12:00'뒤에 추가 now()하면 am / pm을 변경해야합니다.
MickyT

1 자 더 짧은 :select to_char(now(),'"It''s" HH:MIa.m.')
manatwork

@ manatwork, 매우 감사합니다. 나는 그것을 시도하려고 생각하지 않았을 것입니다.
MickyT

2

CJam, 43 바이트

숫자를 0으로 채우면 원하는 것보다 더 커집니다. 결국 문자열 형식이 가장 짧은 방법이었습니다.

4Z]etf=~Cmd@@'p'a?]"It's %02d:%02d%c.m."\e%

온라인으로 사용해보십시오 .

설명

   et                                       e# Push local time
4Z]  f=                                     e# Get [minutes hours]
       ~Cmd                                 e# Unwrap array, div+mod hours by 12
           @@'p'a?                          e# Select 'p' or 'a' based on remainder
                  ]"It's %02d:%02d%c.m."\e% e# Print

1
이것은 12에서 모두 실패합니다. 대신 12:37출력 00:37합니다.
Zach Gates

2

자바 스크립트, 103 바이트

콘솔에서 실행 된 자바 스크립트.

d="It's "+new Date().toLocaleTimeString();l=d.length;d.slice(0,l-6)+d.slice(-2,l-1).toLowerCase()+'.m.'

C #, 63 바이트

C #은 즉시 창에서 실행됩니다.

?"It's "+System.DateTime.Now.ToString("h:MMt").ToLower()+".m.";

F #;)으로도 실행
Stachu

당신은 계산할 필요가 없습니다 d.length, 당신은 단지 쓸 수 -n있고 그것은 끝까지 계산할 것입니다. 단지 FYI입니다. d="It's "+new Date().toLocaleTimeString();d.slice(0,-6)+d.slice(-2,-1).toLowerCase()+'.m.'90 바이트 "It's "문자열 을 이동하여 1 바이트를 절약 할 수 있습니다 . 그리고 거기에 작은 문자열 바로 가기에서 몇 바이트. d=new Date().toLocaleTimeString();"It's "+d.slice(0,5)+d[9].toLowerCase()+'.m.'79 바이트
Jan

그리고 답변이 로케일 독립적 (일부 게시 한 것처럼) 해야하는 경우 toLocaleTimeString("en-US")86 바이트를 사용하십시오 .
Jan

2

배쉬, 44 자

순수 배쉬, 쉘 내장, *** 유틸리티 없음.

printf -vt "It's %(%I:%M%P)T"
echo ${t%m}.m.

샘플 실행 :

bash-4.3$ printf -vt "It's %(%I:%M%P)T";echo ${t%m}.m.
It's 01:04p.m.

2

파워 쉘, 49 바이트

"It's {0:hh:mm}$("ap"[($d=date).hour/23]).m."-f$d

(date).hour/2312 시간 미만 및 12 시간 이상으로 "ap"반올림하기 때문에 인덱스로 작동하는 것 같습니다 .01


51 바이트 - - 대신 / "A"암시 문자 배열로 바뀌 문자열로 "P"를 처리하여 몇 자 떨어져 골프 할 수 있어야한다"It's $(date -f hh:mm)$("pa"[(date).hour-lt12]).m."
AdmBorkBork

가장 최근 에 시작 부분이 "{0:hh:mm}$("ap"[($d=date).hour/23]).m."-f$d누락 It's 되었습니다. 앞면에 고정하면 다음과 같은 49 바이트입니다."It's $((date -f hh:mm)+"ap"[(date).hour/23]).m."
AdmBorkBork

내 잘못이야. 나는 그것을 고쳤다. 그것은 단지에 하나의 호출을 어쨌든,이 버전은 더 많은 "올바른"입니다date
단코 Durbić

그만한 가치가 있기 위해 나는 다른 것을 연구하면서 다음을 우연히 발견했습니다. 분명히 [datetime]캐스트는 항상 EN-US . 이것은 현재 "It's $(("{0:h:mmt}"-f[datetime](date)).ToLower()).m."가능한 것보다 54 바이트 이상 길지만 여전히 흥미로운 언어입니다.
AdmBorkBork

@TimmyD 흥미롭지 만 형식이 아닌 en-US 인 DateTime 에만 캐스팅 하는 것 같습니다 .
Danko Durbić

2

로케일에 따라 다름

로케일이 설정된 브라우저 환경 en-CA또는 기본적으로 12 시간을 출력하는 로케일의 경우 :

CoffeeScript, 81 바이트

alert "It's #{(x=(new Date).toLocaleTimeString().toLowerCase())[..4]} #{x[9]}.m."

자바 스크립트 (ES5), 90 바이트

alert("It's "+(x=(new Date).toLocaleTimeString().toLowerCase()).slice(0,5)+' '+x[9]+".m.")

로케일 독립적

CoffeeScript, 113 96 바이트

alert "It's #{(h=(d=new Date).getHours())%12}:#{('0'+d.getMinutes())[-2..]} #{'ap'[+(h>11)]}.m."

이전:

이것은 로캘에 관계없이 모든 브라우저 환경에서 작동합니다. Chrome 24 이상, Firefox 29 이상, IE 11 이상, Opera 15 이상 또는 그 파생물이 필요합니다. Safari에서는 작동하지 않습니다. 참조하십시오 Intl.DateTimeFormat.

alert "It's #{new Intl.DateTimeFormat('en',{hour:f='2-digit',minute:f}).format(new Date).toLowerCase()[..-2]}.m."

자바 스크립트 답변이 나에게 주었다 :It's 2:59: m.m.
Mwr247

@ Mwr247 브라우저는 어떤 로캘입니까?
rink.attendant.6

@ rinkattendant6 내 로케일은en-US
Mwr247

2

스위프트 - 124 102 바이트

import Cocoa
var f=NSDateFormatter()
f.dateFormat="hh:mma"
print("It's \(f.stringFromDate(NSDate()))")

2

C, 154 바이트

#include <time.h>
#define l localtime(&r)
main(){time_t r=time(0);printf("It's %02i:%02i%c.m.",(l->tm_hour+11)%12+1,l->tm_min,(l->tm_hour>=12)?'p':'a');}

다른 C 답변과 달리이 답변은 올바른 "am"/ "pm"형식을 사용합니다. 다른 포스터는 생략했습니다. #include <time.h>컴파일러에서 허용하면 136 바이트로 줄어 듭니다. 우리는 어느 것을 세어야합니까?


당신이 옳습니다. 사실 제가받은 것은 경고 일뿐입니다 time.h. 편집.
mindriot

1

Moonscript-56 바이트

print "It's "..(os.date'%I:%M%p'\gsub 'M','.M.')\lower!

불행히도 Lua 표준 라이브러리는 대문자 AM / PM에 대해서만 % p를 구현하므로 메소드를 더 낮게 호출해야합니다.


1

SpecBAS-64 바이트

PRINT "It's ";LOW$(REPLACE$(TIME$(TIME,"h:mm p$"),"M",".M."))

내장 p$된 시간 함수는 AM 또는 PM을 반환 REPLACE$하므로 문자의 앞 / 뒤에 완전히 멈출 수 있도록 형식 을 변경해야합니다.

그런 다음 시간 출력을 소문자로 변환해야했습니다.


1

MATLAB, 66 바이트

['It''s' lower(datestr(now,'HH:MMam'))];disp([ans(1:end-1),'.m.'])

디스플레이 :

It's 2:48p.m.

1

파이썬 2, 75 67 66 바이트

import time;print"It's %s.m."%time.strftime("%I:%M%p")[:6].lower()

이전 버전, 75 바이트

import time
t=time.strftime("%I:%M%p")
print"It's",t[:5]+t[5].lower()+".m."

이전 버전, 75 바이트

import time
print"It's",time.strftime("%I:%M%p").lower().replace("m",".m.")

@AlexA. Python 2에서 작동하지 않으면 적어도 Windows에서 time.strftime 이 "ValueError : Invalid format string"을 나타냅니다.
Max

@AlexA Python 2.7.10 (기본값, 2015 년 5 월 23 일, 09:40:32) win32 유형의 [MSC v.1500 32 비트 (Intel)] 자세한 내용은 "help", "copyright", "credits"또는 "license"를 입력하십시오. 정보. >>> import time; print "% sm"% time.strftime ( "% I : % M % p") [: 6] .lower () 01:30 p.m.`
최대

1

파이썬 3, 117 87 79 바이트

from datetime import*
print(datetime.now().strftime("It's %I:%M%P")[:-1]+".m.")

이 형식을 사용하여 12 시간 시계의 시간과 분을 얻는다 %I:%M플러스 am또는 pm사용 %P. 그런 다음 마지막을 제외한 모든 것을 선택 m하고 추가 .m.합니다.

Ruth Franklin 덕분에 몇 바이트를 절약했습니다!


1
datetime한 번만 사용 하면 사용 시간이 6 바이트 짧습니다.from datetime import*; h=datetime.now() ...
Ruth Franklin

@RuthFranklin 제안 해 주셔서 감사합니다! 나는 또한 그것을 단축시키는 몇 가지 다른 방법을 발견했다.
Alex A.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.