কত তারিখ?


26

চ্যালেঞ্জ

অদ্ভুতভাবে, এটি এখনও করা হয়নি: বর্তমান তারিখ আউটপুট।

বিধি

আপনার নিম্নলিখিত তারিখের ফর্ম্যাটটি অনুসরণ করা উচিত:

YYYY-MM-DD

যেখানে মাস এবং দিন 10 এর কম হলে জিরো দ্বারা প্যাড করা উচিত।

উদাহরণস্বরূপ, যদি প্রোগ্রামটি 24 শে মে 2017 এ চালিত হয় তবে এটির ফলাফল হওয়া উচিত

2017-05-24

তারিখটি সর্বদা ইউটিসিতে বা স্থানীয় তারিখে থাকতে পারে।

আপনি অবশ্যই লাফিয়ে যাওয়ার বছরগুলি পরিচালনা করবেন। যেমন লাফ বছরগুলিতে, ফেব্রুয়ারিতে 29 দিন হয় তবে একটি সাধারণ বছরের 28 দিন থাকে।

জয়লাভ

বাইটস মধ্যে সংক্ষিপ্ত কোড।


14
শুভ 10 কে প্রতিনিধি!
রোহান ঝুনঝুনওয়ালা

1
এবং এখন পর্যন্ত দেখা সবচেয়ে দ্রুত বর্ধমান থ্রেডে অভিনন্দন। : ডি
টাইটাস

@ টিটাস আপনি হ্যালো, বিশ্ব দেখা উচিত ছিল! : ডি
বেটা ক্ষয়

... এবং সাধারণ বছরগুলিতে ফেব্রুয়ারির 31 দিনের কোর্স থাকে
edc65

@ edc65 আমার সত্যিই জানা উচিত ছিল যে ফেব্রুয়ারী ২৯ দিন দীর্ঘ, লিপ বয়েসের জন্য: পি
বেটা

উত্তর:


12

বাশ , 16 7 বাইট

-8 বাইট নীলকে (এবং ফার্গুসক) ধন্যবাদ (আউটপুট দেওয়ার জন্য কোনও পাইপ নেই)
-1 বাইট 12431234123412341234123 (পতাকা সহ অন্তর্নির্মিত বিকল্পটি ব্যবহার করুন -I!) এর জন্য ধন্যবাদ

date -I

এটি অনলাইন চেষ্টা করুন!


2
কেন echo $(...)?
নিল

এটির আউটপুট দেওয়ার দরকার নেই?
জোনাথন অ্যালান

6
dateআউটপুট ইতিমধ্যে, আউটপুট stdout এ পাইপ করা হয়। আপনাকে এটিতে পাইপ দেওয়ার দরকার নেই echo, যা এটি স্টপআউটে পাইপ দেয়। এটি অনলাইন চেষ্টা করুন!
ফার্গুসক

তবে আপনি যদি সত্যিই ব্যবহার করতে চান echoতবে কমপক্ষে echo `date +%F`
manatwork

5
কেন ব্যবহার -Iকরবেন না ?
12431234123412341234123

10

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

<?=date('Y-m-d');

1
আসলে, YYYY-MM-DDThh:mm:ss+hh:mmএটি একটি আইএসও 8601 ফর্ম্যাটড তারিখ এবং এই 11 বাইট: <?=date(c);পুরো স্টাফটি মুদ্রণ করুন। ;)
টাইটাস

<?=strstr(date(c),T,1);সি ফর্ম্যাটটিকে সামান্য সুযোগ দেওয়ার জন্য
জার্গ হালসারম্যান


7

বাশ, 15 বাইট

printf '%(%F)T'

নমুনা রান:

bash-4.4$ printf '%(%F)T'
2017-05-24

এটি অনলাইন চেষ্টা করুন!


এসও-তে আমার চেয়েও ভাল, অজানা ছিল T
জোনাথন অ্যালান

@ জোনাথান অ্যালান, এটি কেবল মাত্র 4.2 বাশিতে যোগ করা হয়েছিল এবং 4.3 বাশ অবধি এটির বিন্যাসের জন্য একটি যুক্তি প্রয়োজন।
manatwork


4

এসকিউএলাইট, 13 টি অক্ষর

select date()

ভাল ছেলে, এসকিউএলাইট। অন্যান্য এসকিউএল উপভাষাগুলির সাধারণত প্রয়োজন হয় current_dateবা হয় date(now())

নমুনা রান:

bash-4.4$ sqlite3 <<< 'select date()'
2017-05-24

1
মাইএসকিউএল রয়েছেcurdate
টাইটাস

4

গণিত, 20 বাইট

DateString@"ISODate"

9
কখনও কখনও আমি এই চ্যালেঞ্জগুলিতে আসি গণিতের কোনও অন্তর্নির্মিত আছে কিনা তা দেখার জন্য নয়, এটি কী তা দেখার জন্য
PunPun1000


3

এক্সেল, 24 বাইট

=TEXT(NOW(),"yyy-mm-dd")

এক্সেল এখনও কেবল 3 টি এর সাথে 4-অঙ্কের বছর করবে y


2
গুগল শিটগুলি এতে যুক্ত হবে ")। এক্সেল না। এটি শেষটি যুক্ত করবে) তবে কেবল আপনাকে অনুরোধ করার পরে যাতে এটির জন্য অতিরিক্ত ব্যবহারকারীর ইনপুট দরকার হয় এবং স্কোরটি আবার চালিত করে। 24 বাইট সম্ভবত সংক্ষিপ্ত এক্সেলের উত্তর, যদি না আমরা ডিফল্টরূপে আইএসও তারিখের ফর্ম্যাটটি ব্যবহারের জন্য আঞ্চলিক সেটিংসের অনুমতি না দিয়ে থাকি এবং এটি বিতর্কের অবতারণা করে
ইঞ্জিনিয়ার টোস্ট 13

@ ইঞ্জিনিয়ারস্টাস্ট ধন্যবাদ আমি এটা ঠিক করব।
স্কট মিলনার

2

1
যেহেতু sys.dateইতিমধ্যে একটি ফাংশন, ()তাই আপনাকে যুক্ত করতে হবে না , সুতরাং এটি কেবল 8 বাইট :)
জেএডি

@ জারকো ডাবল্ডাম সত্য নয়, () প্রয়োজনীয়
ডি নেলসন

@ ডি.নেলসন কোডগল্ফ.মেটা.স্ট্যাকেক্সেঞ্জ.কুইশনস / 2419 /Sys.Date … একটি ফাংশন, তাই সমাধান হিসাবে যথেষ্ট। স্পষ্টভাবে এটি কল করার প্রয়োজন নেই।
জেএডি

@ জারকো ডাবডেলডাম এটি সাধারণত ক্ষেত্রে তবে আমি মনে করি যেহেতু চ্যালেঞ্জটি হ'ল 'বর্তমান তারিখটি আইএসও -8601 ফর্ম্যাটে আউটপুট' দেওয়া আমার আসলে এটি আউটপুট করা দরকার।
জিউসেপ

1
হ্যাঁ, এবং শেষ লাইনটি Sys.Dateআপনার জন্য আউটপুট দেয়। এটির সাথে সাদৃশ্য হয় যখন আপনার সাথে কোনও সমাধান শুরু হয় function(x), যা আপনি স্পষ্ট কল দিয়ে শেষ করেন না। এটি বিল্ট-ইনগুলি কীভাবে স্কোর হয় তা ঠিক।
জেএডি


2

এলিস , 9 বাইট

/oT\
@%;'

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

আমি পাঠকের কাছে অনুশীলন হিসাবে সঠিক নিয়ন্ত্রণ প্রবাহটি ছেড়ে দেব, তবে লাইনারিযুক্ত কোড যা অর্ডিনাল মোডে চলছে তা হ'ল:

%T'T%;o@

এবং এটি এখানে এটি করে:

%   Split an implicit empty string around an implicit empty string. Really doesn't
    do anything at all.
T   Push the current datetime as a string like "2017-05-24T20:53:08.150+00:00"
'T  Push "T".
%   Split the datetime string around the "T", to separate the date from the time.
;   Discard the time.
o   Output the date.
@   Terminate the program.

এটি গল্ফযোগ্য হতে পারে এমন এক উপায় হ'ল %শূন্য দ্বারা বিভাগ দ্বারা কার্ডিনাল মোডে প্রোগ্রামটি শেষ করতে পুনরায় ব্যবহার করা , তবে আমি যে একমাত্র বিন্যাসটি নিয়ে এসেছি তা হ'ল:

\;T
\%o'

তবে এখানে, %প্রোগ্রামটি আসলে শেষ করে দেয় না, কারণ আমরা 'oঠিক আগেই ১১১ ( ) চাপছি যাতে শূন্যের দ্বারা ভাগ হয় না।

নীতিগতভাবে এ %থেকে পরিত্রাণ পেতে পুনরায় ব্যবহার করাও সম্ভব হতে পারে ;, যেহেতু সময়টির চারপাশে তারিখটি বিভক্ত করার চেষ্টা করা সময়টিকে সহজেই বাতিল করে দেবে।


2

স্মাইলব্যাসিক 3, 29 বাইট

এসবিতে একটি তারিখের স্ট্রিং অন্তর্নির্মিত রয়েছে ... তবে এটি ভুল ফর্ম্যাটে! এটি ড্যাশগুলির পরিবর্তে স্ল্যাশ ব্যবহার করে, কোনও ভাল নয়। অধিকন্তু, এটি আত্ম-সম্মানজনক বেসিক হওয়ায় এটির কোনও বিশ্বব্যাপী প্রতিস্থাপন কার্য নেই। আমার ধারণা আমার নিজেই এটি করতে হবে ...

D$=DATE$D$[4]="-
D$[7]="-
?D$

2

ভিবিএ, 5 25 বাইট

?Date অপ্রত্যাশিত, সিস্টেমের স্বল্প তারিখের সেটিংসের উপর নির্ভরশীল

?Format(Now,"yyyy-mm-dd")

আউটপুট:

2017-05-25 

6
এই উত্তরটি চূড়ান্তভাবে অস্থিতিশীল এবং বধির দ্বারা, বেশিরভাগ কম্পিউটারে কাজ করবে না কারণ এটি সম্পূর্ণরূপে ব্যবহারকারীদের সিস্টেমে সংক্ষিপ্ত তারিখের ফর্ম্যাট [সেটিংসে -> তারিখ এবং সময় Win10 এ] 'YYYY-MM-DD . The default format for this is M / D এ সেট করে / YYYY` এবং এইভাবে এই Dateফাংশন আউটপুট জন্য 5/25/2017। এটি সংশোধন করার জন্য আপনার উত্তরটি একটি Formatকলটিতে আবৃত করা দরকার ।
টেলর স্কট

2
@ টেলরস্কট ?format(now,"yyyy-mm-dd")ব্যবহারের শেষে যেটি ব্যবহার করা হয়েছে nowতার চেয়ে ছোটdate
গ্রিডো

1
@ গ্রিডো, এটি সঠিক। এটি আমার জ্ঞানের
টেলর স্কট

1
@ টেলরস্কট এটিকে নির্দেশ করার জন্য ধন্যবাদ, আমি সিস্টেমের তারিখের সেটিংসের উপর নির্ভরতা সম্পর্কে অবগত ছিলাম না। এই তারিখ বিন্যাস হল তাই আমি একটু overconfident এখানে ছিল, আমার পিসিতে এবং সাধারণভাবে আমার দেশে ডিফল্ট।
ম্যাকিয়েজ লিপিনস্কি


1

কিউবিআইসি , 33 বাইট

B=_D?_sB,-4|+@-`+_sB,2|+A+_sB,4,2

ব্যাখ্যা:

B=_D        Assign the system's date to B$
            This is in American mm-dd-yyyy format, so we'll need to do some reformatting
?_sB,-4|    PRINT substring B, take 4 chars from the right
 +@-`         plus the string literal "-", now A$
 +_sB,2|      plus the leftmost two chars
 +A           and A$ again
 +_sB,4,2     plus the middle part.

1

সিজেম , 22 15 বাইট

et3<{sY0e[}%'-*

এটি অনলাইন চেষ্টা করুন!

চ্যালেঞ্জার 5 -7 বাইট ধন্যবাদ।

ব্যাখ্যা:

et                       Get array with [year,month,day,stuff...]
  3<                     Slice array to get [y,m,d] 
    {                    For each item do:
     s                     To string
      Y0e[                 add a 0 to the beginning of the string if it is shorter than 2 chars.
          }%             End for each
            '-*          Join the array with "-" as a separator

আপনি e[15 টি বাইটের জন্য (প্যাড অ্যারে) ব্যবহার করতে পারেন :et3<{sY0e[}%'-*
ফল

@ চ্যালেঞ্জার 5 এটি দুর্দান্ত। ধন্যবাদ
ফ্রডক्यूब 24'17



1

ওরাকল এসকিউএল, 46 বাইট

SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL

1

পাওয়ারশেল, 26 17 বাইট

Date -f yyy-MM-dd

9 বাইটের জন্য @ কননরএলএসডাব্লুকে ধন্যবাদ


আপনি এখানে অনেক সঞ্চয় করতে পারেন date -f 'yyyy-MM-dd'
কলসডাব্লু

ধন্যবাদ মানুষ. আমি পাওয়ারশেল নতুন। সুতরাং, আমি এখানে আমার ভাগ্য চেষ্টা করেছি
শিবপ্রসাদ ভাদেভেল

@ শিবাপ্রসথ ভি - কোনও উদ্বেগ নেই, আপনি চাইলে আরও বেসিক পিএস গল্ফিং ট্রিকস সহ কয়েকটি সহায়ক পোস্টের জন্য এই থ্রেডটি পরীক্ষা করুন ।
কলসডাব্লু

1

রুবি, 23 বাইট

স্থানীয় সময় মুদ্রণ।

p Time.now.strftime'%F'

1
p Time.now.to_s[0..9]
manatwork

1

ম্যাটল্যাব / অষ্টাভে , 25 15 বাইট

datestr(now,29)

এটি অনলাইন চেষ্টা করুন!


অন্তর্নির্মিত ফাংশনটি nowঅদ্ভুত MATLAB ক্রমিক বিন্যাসে বর্তমান সিস্টেমের তারিখটি দেয়।

datestrঅদ্ভুত সিরিয়াল বিন্যাসকে অনুরোধ করা বিন্যাসের স্ট্রিংয়ে ফর্ম্যাট করে - যা এই ক্ষেত্রে 'YYYY-mm-dd'। দেখা যাচ্ছে যে ম্যাটল্যাবের জন্য পূর্বনির্ধারিত ফর্ম্যাটগুলির একটি তালিকা রয়েছে datestr। ISO8601 এর মধ্যে একটি এবং এটি 29 নম্বর দ্বারা প্রতিনিধিত্ব করা হয়, যা 10 বাইট সংরক্ষণের অনুমতি দেয়।


1

পাইথন 2 ,  53  40 বাইট

-10 বাইট গ্যাবার ফেকেটকে ধন্যবাদ (আইএসও -8601 একটি তারিখের জন্য ডিফল্ট ফর্ম্যাট)

from datetime import*
print date.today()

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

datetime.date.today()datetime.dateস্থানীয় তারিখের তথ্য সম্বলিত কোনও বস্তু ফিরিয়ে দেবে ।

printযে বস্তুর একটি স্ট্রিং প্রতিনিধিত্ব মুদ্রণ করবে, এটি বস্তুর __str__ফাংশন কল করবে ।

দস্তাবেজগুলি থেকে :

  • date.__str__(): একটি জন্য date d, str(d)সমতূল্য d.isoformat()

  • date.isoformat(): আইএসও 8601 ফর্ম্যাটে, stringতারিখের প্রতিনিধিত্ব করে ফেরত দিন । উদাহরণস্বরূপ ,।‘YYYY-MM-DD’date(2002, 12, 4).isoformat() == '2002-12-04'


1
import datetime;print datetime.date.today()এটি কেবলমাত্র 43 বাইট এবং তারিখের সময় ব্যবহার করে। এমনকি আরও সংক্ষিপ্ত সংস্করণটি মোছা হয় কেন?
গ্যাবার ফেকেটে

@ গ্যাবারফিকেট ধন্যবাদ (আমার ধারণা আপনার সত্যিই পোস্ট করা উচিত ছিল, এটি যথেষ্ট আলাদা)। অন্য উত্তর সম্ভবত মুছে ফেলা হয়েছে কারণ এটি সঠিকভাবে ফর্ম্যাট করা স্ট্রিংটি মুদ্রণ করে নি। কেন এটি আসলে কাজ করে সে সম্পর্কে আমি একটি ব্যাখ্যা যুক্ত করেছি (যতক্ষণ না এটি অন্তর্ভুক্ত থাকে print)। আরও তিনটি করা (মন্দ) রক্ষা করেছে import*
জোনাথন অ্যালান

আমি চেয়েছিলাম কিন্তু অন্য একটি সমাধান ছিল যা আমার চেয়েও ছোট ছিল তবে কোনও কারণে মুছে ফেলা হয়েছে।
গ্যাবার ফেকেট

... যা এখন printমুছে ফেলা হয়েছে তার পরে মুছে ফেলা অন্তর্ভুক্ত করার জন্য সম্পাদনা করা হয়েছে ।
জোনাথন অ্যালান

1

ক্রিস্টাল , 30 বাইট 24 বাইট 21 বাইট

-6 নিক ক্লিফোর্ডকে ধন্যবাদ

-৩ রুবির মধ্যে শামুকের উত্তর দেখে

p Time.now.to_s("%F")

এটি অনলাইন চেষ্টা করুন!


2
আমি নিশ্চিত আপনি ব্যবহার করতে পারেন %F। এছাড়াও, পিপিসিজিতে ক্রিস্টাল দেখে ভাল লাগল!
নিক ক্লিফোর্ড

1
@ নিক ক্লিফোর্ড আমি এটি টিওতে দেখেছি এবং ভেবেছিলাম এটির একটি দুর্দান্ত নাম আছে।
টাইটাসলুক্রেটিয়াস


1

সি #, 46 45 বাইট

_=>System.DateTime.Now.ToString("yyy-MM-dd");

@ রজনগুলকে একটি বাইট ধন্যবাদ সংরক্ষণ করা হয়েছে।


2
আমি কোথায় ডাউনলোড করব Sytem?
এরিক দ্য আউটগল্ফার

6
@ এরিকথ আউটগলফার এটি Systemনেমস্পেসের চারপাশে আমি তৈরি একটি কাস্টম মোড়ক কারণ আমি একই টাইপো
চালিয়ে যাচ্ছি

4
আপনি জানেন যে স্থানীয়ভাবে আপনি যে জিনিসগুলি তৈরি করেন তা পিপিসিজি-তে প্রশ্ন করার আগে প্রকাশ না করা হয় না। : পি
এরিক আউটগল্ফার

1
@ এরিক অটগল্ফার ড্যাম, পরের বার আমি আরও একটি ছোট র‌্যাপার তৈরি করব ...
TheLethalCoder

1
বছরের জন্য শীর্ষস্থানীয় জিরোগুলির প্রয়োজন হয় না কারণ ফর্ম্যাট স্ট্রিংটিও "yyy-MM-dd"কাজ করবে।
রাজনগুল

1

জাভা 8, 26 32 বাইট

()->java.time.LocalDate.now()+""

স্থির ফর্ম্যাট ধন্যবাদ কেভিন ক্রুইজসেনকে


বাহ, জাভা আসলে সংক্ষিপ্ত ... আমি কখনই ভাবতাম না যে আমি এই দিনটি দেখব: ডি
বিটা ডেকে

@ বেটাডেকে এটি সংক্ষিপ্ত, তবে বর্তমানে মানক কোডগল্ফ নিয়ম মেনে চলছে না। এটি একটি স্নিপেটের পরিবর্তে একটি ফাংশন হওয়া উচিত এবং প্রয়োজনীয় আমদানিগুলিও গণনা করা উচিত। সুতরাং এটি ()->java.time.LocalDate.now().toString()পরিবর্তে হওয়া উচিত । তারপর আবার, আপনি গলফ পারেন .toString()করার +""তাই এটি হয়ে, ()->java.time.LocalDate.now()+""মোট (ইন 32 বাইট )।
কেভিন ক্রুইজসেন 26'17

1

সি ++ 14, 143 বাইট 139 বাইট

#include <cstdio>
#include <time.h>
int main (){time_t t;char D[11];time(&t);strftime(D,sizeof D,"%Y-%m-%d",localtime(&t));printf("%s",D);}

টিমটেক আমাকে বলেছিল যে আমার সব জায়গার দরকার নেই

আমাকে পরীক্ষা!


আপনি কি সেই জায়গাগুলির কয়েকটি সরাতে পারবেন না?
টিমটেক

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.