কি সময়, অধ্যায়?


18

আমি সত্যই বিশ্বাস করতে পারি না যে এটি কোড গল্ফে এখনও কোনও প্রশ্ন নয়, তবে ....

"এটি" এর আগে, কনসোলে একটি স্ট্রিং হিসাবে স্থানীয় সময় (সকাল বা বিকাল সহ) মুদ্রণ করুন।

উদাহরণ:

Run code....

আউটপুট:

It's 12:32p.m.

সংক্ষিপ্ততম কোড জিতেছে।

দূরে কোড!

লিডারবোর্ড


1
আউটপুট ফর্ম্যাট কি? এটা কোন ব্যাপার?
mbomb007

1
না, আমি বলতে চাই, এটি yyyy-MM-dd hh:mm:ss UTCকি সেই তারিখের ফর্ম্যাটটি গুরুত্বপূর্ণ নয়?
mbomb007

8
আমি সত্যিই একটি উত্তর প্রিন্ট করতে চেয়েছিলাম It's beer o'clock, কিন্তু আমি প্রতিরোধ করেছি।
মিকিটি

4
আমরা ব্যবহার করতে পারি 12:32 PMবা 12:32PM? এর বদলে 12:32p.m.?
স্টিভি গ্রিফিন

3
এটি কি 02:32 বা 2:32 যদি এটি 10:00 এরও কম হয়?
স্টিভি গ্রিফিন

উত্তর:


18

বাশ, 39 33 বাইট

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

একগুচ্ছ অক্ষর নষ্ট করে কারণ চশমাটি প্রয়োজন হয় a.m.বা p.m.যখন dateআউটপুটগুলিতে amবা pm। 6 ডিজিটাল ট্রামুমাকে 6 বাইট বাঁচানোর জন্য ধন্যবাদ!

এটি খুব বহনযোগ্য নাও হতে পারে। এটি উবুন্টু 15.04 এ কাজ করে।

এমন একটি সমাধান যা রুবিতে মূলত একই পদ্ধতি ব্যবহার করে , যা আশ্চর্যজনকভাবে সঠিক দৈর্ঘ্য :

রুবি, 39 বাইট

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

%Pআমাকে বড় বা এএম বা প্রধানমন্ত্রী দেয়। আমি কোনও ম্যাকের সাথে আছি যদি এটি কোনও পার্থক্য করে।
ফ্লোডেল

@ ফ্লডেল আমার মেশিনে কাজ করে ™। উবুন্টু 15.04 এ, %Pছোট হাতের অক্ষর দেয় এবং %pবড় হাতের অক্ষর দেয় (যা কিছুটা ... অপ্রয়োজনীয়)।
ডুরকনব

জিওএনইউ date(লিনাক্স এট আল। তে) এবং * বিএসডি date(যেখানে ওএসএক্স একটি বিএসডি বৈকল্পিক) যখন পসিক্স দ্বারা নির্দিষ্ট করা বৈশিষ্ট্যের বাইরে আপনি উত্সাহিত করেন তখন বিভিন্ন বিকল্প এবং আচরণ রয়েছে। সুতরাং সম্ভবত এই উত্তরটির বিশেষত লিনাক্সে ব্যাশ উল্লেখ করা উচিত। ( sedএটিও যায় ; তবে এই বিশেষ
অনুরোধটি

আমার মেশিনে (লিনাক্সে zsh বা ব্যাশ) এটি "এটি 04:17" প্রিন্ট করে। যখন সময় 16:17 কোনও "am" বা "pm" নয়
aditsu

echo -e "It's $(date +%I:%M%P)\b.m."- পরিবর্তে sedব্যাকস্পেস ব্যবহার করে। আমার কাছে আলাদা উত্তর বলে মনে হচ্ছে না। এছাড়াও আমার কোনও সকাল / বেলা নেই তবে আমি মনে করি এটি লোকেলের কারণে।
আরগায়ার

13

অ্যাপলস্ক্রিপ্ট, 198

কারণ অ্যাপলস্ক্রিপ্ট। কারণ কেন:

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
অ্যাপলস্ক্রিপ্ট হ'ল নতুন জাভা।
ডোরকনবব

8

পিএইচপি, 35 33 বাইট

কাজের জন্য ভুল সরঞ্জাম ব্যবহার করে!

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

এটি বিন্দু যুক্ত করার অনুমতি দেওয়ার mজন্য amবা শেষে শেষে সরিয়ে pmদেয়। তারিখটি আসে 00:00am, এবং trimএটি হয়ে যায় 00:00a


পুরানো উত্তর (কেবলমাত্র PHP 5.4+):

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

এটি কাজ করে কারণ আপনি কোনও ফাংশন থেকে ফিরে আসা কোনও মানকে ডি-রেফারেন্স করতে পারেন। এটি পিএইচপি 5.3 বা তার চেয়েও পুরানো ক্ষেত্রে সম্ভব নয়।


আহ, চালাক! আপনি আমার পিএইচপি উত্তরটি
মারলেন

@ ড্যাঙ্কমেস এটি আমার বেশ খানিকটা সময় নিয়েছে। এবং প্রচুর পরীক্ষা নিরীক্ষা।
ইসমাইল মিগুয়েল

আপনি উদ্ধৃতি ছাড়াই একটি স্ট্রিং আক্ষরিক ব্যবহার করেছেন। @অপারেটর ব্যতীত এগুলি ব্যবহার করা এবং লোকেরা এটি চালাবেন বলে ধরে নেওয়া কি ঠিক error_reporting(0)?
ড্যাঙ্কমেস

@ ড্যাঙ্কমিমেস আপনি পরোক্ষভাবে ধরে নিতে পারেন যে ত্রুটি প্রতিবেদন করা অক্ষম। এখানে একটি ভাল পঠন করা হয়েছে: meta.codegolf.stackexchange.com/a/1655/14732
ইসমাইল মিগুয়েল

5

ভিজ্যুয়াল বেসিক 6 / ভিবিএ, 42 41 বাইট

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

ব্যবহার করে MsgBox, যেমন ভিবি 6 এর কোনও কনসোল নেই (যদি না আপনি লিঙ্কিংটি বাদ দেন, কনসোলকে এক্সিকিউটেবল হিসাবে লিঙ্ক করেন না, কিছু উইন্ডোজ এপিআই হ্যাক ব্যবহার করেন এবং কিছু অন্যান্য ডজি স্টাফ না করেন)।


3
আপনি শুধু mদ্বারা প্রতিস্থাপন করবেন না কেন .m.? অর্থাত্ Debug.Print Replace(Format(Now,"hh:mm am/pm"),"m",".m.")
কমপ্লেশিপ

সুন্দর @ টুথব্রাশ, আমি সাজাইয়াছিলাম এটি সিজেমে ওয়ান-বাইট সমাধান হিসাবে প্রত্যাশিত;)
কমপ্লেশন

4

আর, 68 , 59 62 60 55

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

(মন্তব্যের জন্য @ অ্যালেক্স.এ এবং @ ফ্লোডেলকে ধন্যবাদ) বর্তমান সিস্টেমের সময় নেয় ( 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.

গ্লেন ওকে 31 বাইট সংরক্ষিত !


আমি কি এই পরামর্শ দিতে পারি? print("It's ",strftime("%r%P",time())[[1:5,12]],".m.")- %Pতুলনা এবং বিভাজন কমান্ড এড়াতে am / pm এ ছোট হাতের সংযোজন ব্যবহার করে।
গ্লেন ও

সহায়তা সংক্রান্ত কোনও সমস্যা নেই। এবং নিজেকে নিচে কথা বলবেন না - আপনি ভাল করেন। কোডের বাইরে প্রতিটি শেষ বাইট চেপে ধরার চেষ্টা করে আমি আনন্দ উপভোগ করি। এই ক্ষেত্রে, আমি কেবল অনুভব করেছি যে স্প্লিট কমান্ড এবং শর্তসাপেক্ষ বিবৃতিটি বাইপাস করার চেষ্টা করা উপকারী হবে এবং তারপরে আপনি ব্যবহৃত ফাংশনগুলি সন্ধান করতে চলেছেন। আমি সম্ভবত স্ট্রাইফটাইমটি নিজের কাছে পেতাম না (সরাসরি সময়টি প্রত্যক্ষ করার চেষ্টা করতাম time())
গ্লেন ও

1
@ গ্লেনো আপনি যদি কোডের বাইরে প্রতিটি শেষ বাইট চেপে ধরে আনন্দ উপভোগ করেন তবে পিপিসিজি অবশ্যই আপনার জন্য সঠিক জায়গা!
অ্যালেক্স এ।

ঘটনাক্রমে, আমি আরও কয়েকটি বাইট print(strftime("It's %I:%M%P",time())[1:11],".m.")
গ্লেন ও

প্রকৃতপক্ষে, আরও ভাল:print(strftime("It's %I:%M%P\b.m.",time()))
গ্লেন ও

3

হাস্কেল, 135 বাইট

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

আমি আরও অনেক মজাদার খুঁজে পেয়েছি mainযে পাঁচ বাইট দীর্ঘ:

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

পাইথ, 38 36 বাইট

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

সংরক্ষিত 2 বাইট @ জাকুবকে ধন্যবাদ!


@ Sp3000 অনলাইন দোভাষী বা স্থানীয়ভাবে?
kirbyfan64sos

@ Sp3000 আমি মনে করি আমি বিষয়টি জানি। এটি পাইথ সার্ভারের অবস্থানের সময় দিচ্ছে এবং আমি মধ্যরাতটি সঠিকভাবে পরিচালনা করছি না। ধরুন ...
kirbyfan64sos

@ স্প 3000 ফিক্সড !!!
kirbyfan64sos

আপনি আমার পিএইচপি উত্তর এবং ডোরকনব-এর বাশ উত্তরটি প্রায় মারছেন!
ইসমাইল মিগুয়েল

3

ম্যাটল্যাব, 59 বাইট

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

এটি 5:38 pm।

যদি এটির সময় এবং সকাল / সন্ধ্যা between টার মধ্যে একটি সাদা জায়গা থাকতে দেওয়া হয় তবে এটি 52 বাইটের চেয়ে কম হতে পারে :

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

সন্ধ্যা :3:৩৯ বাজে


আমি মনে করি আউটপুটটি অবশ্যই হবে05:38p.m.
ইসমাইল মিগুয়েল

ওপির মন্তব্য অনুসারে, শীর্ষস্থানীয় শূন্যের কিছু যায় আসে না।
slvrbld

তুমি ঠিক বলছো. এখানে, আমার উপভোগ আছে!
ইসমাইল মিগুয়েল

নিস! আমি জানতাম না যে আমি এর \bমতো ব্যবহার করতে পারি ... আপনার একটি অতিরিক্ত স্থান বিটিডব্লিউ দরকার।
স্টিভি গ্রিফিন

3

পার্ল 5.10+, 58 62 বাইট

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

-M5.010পেতে কমান্ড লাইন পতাকা দিয়ে চালানো আবশ্যক say

আমি আমার আসল সমাধানে (যেমন, 00:**এবং 12:**) একাধিক প্রান্তের ক্ষেত্রে দায়বদ্ধ হইনি ; 4 অতিরিক্ত বাইট ব্যয়ে স্থির

কিভাবে এটা কাজ করে

স্কেলার প্রসঙ্গে, localtimeএকটি স্ট্রিং এর মতো করে:

Sat Sep 12 03:13:22 2015

মিনিটের ক্ষেত্রটি ইতিমধ্যে শূন্য-প্যাডযুক্ত, যা কিছু বাইট সংরক্ষণ করে (তালিকার প্রেক্ষিতে 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."

পার্ল 5.14+, 57 বাইট

(কেবল মজাদার জন্য, যেহেতু এটি নিয়মগুলি কিছুটা প্রসারিত করে))

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

51 বাইট + 6 বাইট জন্য -MPOSIX-M5.010পেতে কমান্ড লাইন পতাকাও চালাতে হবে say

এই সমাধানটি আপনার লোকেলের উপর নির্ভরশীল, সুতরাং সমস্ত সিস্টেমে কাজ করবে না। এটি পসিক্স মডিউলটিও ব্যবহার করে, এটি একটি মূল মডিউল থাকা সত্ত্বেও "বিল্ট-ইন" সংজ্ঞাটি প্রসারিত করে।

rপ্রতিস্থাপন অপারেটরের অ-ধ্বংসাত্মক পরিবর্তনকারীটির জন্য পার্ল 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

পসিক্স: ৮০ বাইট ব্যবহার করা হচ্ছে

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

সময়ের লোকাল নির্ভরতা এবং সুইচগুলির সাথে পসিক্স ব্যবহার: 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 বাইটে নামিয়েছে!
এইসুইটিআইস ব্ল্যাকনট

ধন্যবাদ। আমি আপনার পরামর্শটি সবচেয়ে কম পসিএক্স সমাধানের জন্য ব্যবহার করেছি।
LukStorms

1
আপনি এখনও নির্ভর করতে -MPOSIX(6 বাইটস), কিন্তু আপনি প্রথম বন্ধনী ড্রপ 2 বাইট সংরক্ষণ করতে পারেন: $_=strftime"It's %I:%M%P",localtime;। এটি মোট 54 বাইট দেয়, যা এখনও আমার 57-বাইটের পসিক্স সমাধানের চেয়ে ভাল। সাবাশ!
এইসুইটস ব্ল্যাকনট

হেই, কয়েকটা বাইট উদ্ধারের জন্য আবার ধন্যবাদ thanks
LukStorms

3

সিজেম, 40 বাইট

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

সিজেএম ইন্টারপ্রেটারে এটি অনলাইনে চেষ্টা করুন ।

কিভাবে এটা কাজ করে

"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

গণিত 49 49 92 90 84 বাইট

-6 বাইট ব্যবহারকারী 202729 ধন্যবাদ

সমাধানটি ম্যাথমেটিকায় সোজাসাপ্টা, তবে কিছুটা কথার।

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

(যদিও এই পোস্টটি বেশ পুরানো) StringReplaceবাদ দেওয়া যেতে পারে, 6 বাইট সংরক্ষণ করুন। (d=DateString)@{"It's ","Hour12",":","Minute"}<>d@"AMPM"/."AM"->"a.m."/."PM"->"p.m."
ব্যবহারকারী 202729

2

টি-এসকিউএল (2012+), 67 বাইট

এসকিউএল সার্ভার 2012 শেষ পর্যন্ত আমাদের তারিখগুলির জন্য একটি যুক্তিসঙ্গত ফর্ম্যাটিং ফাংশন দিয়েছে। ঠিক তবুও ফর্ম্যাটটি পেতে আমাকে এএম / পিএমের সাথে চটকাতে হয়েছিল।

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

পিএইচপি, 49 বাইট

যদি কেবল এটির am/pmপরিবর্তে থাকত a.m./p.m....

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

কিছুটা দৈর্ঘ্য বাঁচাতে আমি প্রচুর দুষ্টু বাইট ব্যবহার করেছি তাই এখানে হেক্সসটি রয়েছে:

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

সি, 103 94 বাইট

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

Ungolfed

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

2

পিএইচপি, 41 বাইট

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

প্রথমবার আমি এটি খেলেছি। নিশ্চিত না যে আমার পূর্ববর্তী পিএইচপি উত্তর (49 বাইট) আপডেট / সম্পাদনা করার কথা বা আমার নিজের যুক্ত করার কথা ...


আপনার সর্বদা আপনার নিজের যুক্ত করা উচিত । আপনি কেবল কারওর উত্তরে মন্তব্য করেছেন যদি আপনি এমন কিছু দেখেন যা সেগুলি কয়েক বাইট সংরক্ষণ করতে পারে। তবে তা ছাড়া অন্য, সুন্দর উত্তর!
ইসমাইল মিগুয়েল

যাইহোক, আপনি লিখতে পারেন [m=>'.m.'], যা 2 বাইট সংরক্ষণ করে। (সতর্কতাগুলি উপেক্ষা করা যায়, সুতরাং, সেগুলি সম্পর্কে চিন্তা করবেন না))
ইসমাইল মিগুয়েল

2

এসকিউএল (পোস্টগ্রিএসকিউএল), 42 41 বাইট

অন্য একটি এসকিউএল বৈকল্পিক, তবে এটি একটি কোয়েরিতে রয়েছে।

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

একটি নোট হিসাবে দুপুর বা am am / pm অংশটি পাওয়ার জন্য কাজ করে। PostgreSQL এ ফর্ম্যাট করার বিকল্পগুলি সত্যিই বেশ নমনীয়। টিপটি it'sবিন্যাসের স্ট্রিংয়ে সরানোর জন্য @ মান্যাটওয়ার্ককে ধন্যবাদ ।

SQLFiddle


তাই আপনাকে নিজে / এএমএমটি ম্যানুয়ালি অ্যাডজাস্ট করতে হবে?
ডেভিড আরেনবুর্গ

@ ডেভিড আরেনবার্গ, না হয় এটির সাথে ঠিকই পেল না ... তবে আমাকে এটি পরীক্ষা করে নিতে হয়েছিল, কারণ এটি ঠিক মনে হয়নি। যদি আপনি এসকিউএলফিডেলে এর + time '12:00'পরে যুক্ত করেন তবে now()এটি সকাল / বিকাল পরিবর্তন হওয়া উচিত।
মিকিটি

1 টি চরিত্রের খাটো:select to_char(now(),'"It''s" HH:MIa.m.')
10-15

@ মান্যাটওয়ার্ক, খুব সুন্দর ধন্যবাদ। আমি চেষ্টা করার কথা ভাবিনি।
মিকিটি

2

সিজেম, 43 বাইট

শূন্যগুলির সাথে সংখ্যাগুলি প্যাড করা আমার পছন্দের চেয়ে বড় করে তোলে। শেষ পর্যন্ত স্ট্রিং ফর্ম্যাটিংটি ছিল সবচেয়ে স্বল্পতম উপায়।

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
জাচ গেটস

2

জাভাস্ক্রিপ্ট, 103 বাইট

জাভাস্ক্রিপ্ট কনসোল থেকে কার্যকর করা হয়েছে।

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

সি #, 63 বাইট

সি # তাত্ক্ষণিক উইন্ডো থেকে কার্যকর করা হয়েছে।

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

এফ #;) হিসাবেও চালায়
স্টাচু

আপনার গণনা করার দরকার নেই d.length, আপনি কেবল লিখতে পারেন -nএবং এটি শেষ থেকে গণনা করবে, কেবল একটি এফওয়াইআই। d="It's "+new Date().toLocaleTimeString();d.slice(0,-6)+d.slice(-2,-1).toLowerCase()+'.m.'90 বাইট। এবং "It's "স্ট্রিংটি সরিয়ে আপনি একটি বাইট সংরক্ষণ করতে পারেন । এবং সেখানে একটি স্ট্রিং শর্টকাট থেকে কয়েক বাইট। d=new Date().toLocaleTimeString();"It's "+d.slice(0,5)+d[9].toLowerCase()+'.m.'79 বাইট।
জানুয়ারী

এবং যদি উত্তরটি লোকেল-স্বতন্ত্র হওয়া দরকার (যেমন কিছু পোস্ট করেছেন), কেবল toLocaleTimeString("en-US")86 বাইট ব্যবহার করুন ।
জানুয়ারী

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/23"ap"এটি সূচক হিসাবে কাজ করে বলে মনে হচ্ছে কারণ এটি 012 এর চেয়ে কম ঘন্টার 1জন্য এবং 12 এবং তার বেশিের জন্য ঘোরে ।


"পি" / "এ" এর পরিবর্তে স্ট্রিংটি একটি অন্তর্নিহিত চর-অ্যারে হিসাবে রূপান্তরিত করে - "বাইটস""It's $(date -f hh:mm)$("pa"[(date).hour-lt12]).m."
অ্যাডমবর্কবার্ক 11:56

আপনার সর্বশেষে শুরুতে "{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."
অ্যাডমবর্কবার্ক

আমার খারাপ। আমি এটা ঠিক করেছি। যাইহোক, এই সংস্করণটি আরও "সঠিক", কারণ এটি কেবলমাত্র একটি কল করেdate
ডানকো দুর্বি

এটি মূল্যবান কিসের জন্য, আমি অন্য কোনও কিছুর উপর গবেষণা করার সময় নিম্নলিখিতগুলি হোঁচট খেয়েছি। দৃশ্যত [datetime]কাস্টগুলি সর্বদা এন-ইউএস থাকে । তার অর্থ এইরকম কিছু "It's $(("{0:h:mmt}"-f[datetime](date)).ToLower()).m."সম্ভব ... যা মঞ্জুর করা হয়েছে, এটি আপনার বর্তমান সমাধানের চেয়ে 54 বাইট এবং দীর্ঘ, তবে এখনও ভাষার একটি আকর্ষণীয় গণ্ডগোল।
অ্যাডমবর্কবার্ক

জবর @TimmyD, কিন্তু এটা এটি শুধুমাত্র মনে হয় তারিখসময় কাস্ট যে স্বীকারোক্তি-মার্কিন ফর্ম্যাটিং না।
ডানকো দুর্বিć

2

লোকেল নির্ভর

ব্রাউজার পরিবেশের জন্য যে লোকাল সেট করা আছে en-CAবা কোনও লোকেল যা ডিফল্টরূপে 12-ঘন্টা সময় দেয়:

কফিস্ক্রিপ্ট, 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.")

লোকেল স্বাধীন

কফিস্ক্রিপ্ট, 113 96 বাইট

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

আগে:

স্থানীয় লোক নির্বিশেষে এটি একটি ব্রাউজারের সমস্ত পরিবেশে কাজ করে। ক্রোম 24+, ফায়ারফক্স 29+, আইই 11+, অপেরা 15+ বা এর মতো কোনও ডেরাইভেটিভের প্রয়োজন। সাফারি তে কাজ করে না। দেখুন 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

@ রিঙ্কট্যান্ড্যান্ট 6 আমার লোকেলটিen-US
Mwr247

2

সুইফট - 124 102 বাইট

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

2

সি, 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');}

অন্য সি উত্তরের বিপরীতে, এইটি সঠিক "am" / "pm" ফর্ম্যাটটি ব্যবহার করে। অন্য পোস্টার বাদ দেওয়া হয়েছে #include <time.h>- আপনার সংকলক যদি এটি অনুমতি দেয় তবে আমরা 136 বাইটে নেমে যাই। আমাদের কোনটি গণনা করা উচিত?


আপনি ঠিক বলেছেন, বাস্তবে আমার যা কিছু পেয়েছিল তা হ'ল সতর্কতা - আমি এটি না করে চেষ্টা করার ত্রুটি নিয়ে বিভ্রান্ত হয়ে পড়েছিলাম time.h। সম্পাদনা করা।
মেন্ট্রিয়ট

1

মুনস্ক্রিপ্ট - 56 বাইট

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

দুর্ভাগ্যক্রমে লুয়া স্ট্যান্ডার্ড লাইব্রেরি কেবল বড় পিএম / পিএম এর জন্য% p প্রয়োগ করে, তাই আমাকে পদ্ধতিটি নীচে কল করতে হবে।


1

স্পেসবিএএস - 64 বাইট

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

p$সময়ের অন্তর্নির্মিত কার্যটি AM বা PM রিটার্ন দেয়, সুতরাং REPLACE$এটির পরিবর্তনের জন্য এটি ফর্ম্যাট করতে হবে সুতরাং সেই চিঠির আগে / পরে এটির পুরো স্টপস রয়েছে।

তারপরে সময়ের আউটপুটটি ছোট হাতের মধ্যে রূপান্তর করতে হয়েছিল।



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। পাইথন 2 কাজ নেই time.strftime : উইন্ডোজ অধীনে কমপক্ষে দেয় "অবৈধ ফরম্যাট স্ট্রিং ValueError"
ম্যাক্স

@ অ্যালেক্সা পাইথন ২.7.10 (ডিফল্ট, মে 23 2015, 09:40:32) [উইন্ডো 32 তে এমএসসি v.1500 32 বিট (ইন্টেল)] আরও জন্য "সহায়তা", "কপিরাইট", "ক্রেডিট" বা "লাইসেন্স" টাইপ করুন তথ্য। >>> সময় আমদানি করুন; "এটি% এসএম"% সময় মুদ্রণ করুন strআর সময়কাল ("% আমি:% এম% পি") [: 6] .লাইও () এটি 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.

রূথ ফ্র্যাঙ্কলিনকে কয়েকটা বাইট সংরক্ষণ করে!


1
যেহেতু আপনি কেবল datetimeএকবার ব্যবহার করছেন , এটি ব্যবহার করতে 6 বাইট কম খাটোfrom datetime import*; h=datetime.now() ...
রূথ ফ্র্যাঙ্কলিন

@ রুথফ্র্যাঙ্কলিন এই পরামর্শের জন্য ধন্যবাদ! এটি হ্রাস করার জন্য আরও কয়েকটি উপায়ও পেয়েছি।
অ্যালেক্স এ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.