মাসে কত দিন?


25

একটি মাসিকের একটি পাঠ্য উপস্থাপনা (কেস-সংবেদনশীল পুরো নাম বা 3 টি অক্ষরের সংক্ষেপণ) দেওয়া মাসে মাসের দিনগুলির সংখ্যা ফেরত দেয়।

উদাহরণস্বরূপ, december, DEC, এবং decসব 31 ফেরত পাঠাবেন।

ফেব্রুয়ারিতে হয় 28 বা 29 দিন থাকতে পারে।

ধরুন ইনপুটটি সঠিক ফর্মগুলির মধ্যে একটি মাস month


19
মাসের নামগুলির সমস্ত বৈচিত্রগুলি সম্ভবত আপনার তালিকাভুক্ত করা উচিত যা আমরা গ্রহণ করতে সক্ষম হব।
: Giuseppe

1
যে কেউ এটি ব্যবহার করতে পারে তার জন্য, প্রথম প্রথম 3 টি অক্ষরের ASCII অর্ডিনাল অঙ্কগুলি অনন্য।
সম্পূর্ণরূপে

19
এটি খুব দূরে ছিল, খুব শীঘ্রই একটি সমাধান গ্রহণ করতে।
শেগি

5
আমি মনে করি যদি এই ইনপুটটি নির্দিষ্ট ফরম্যাটে ঠিক মাস হত, তবে ফর্ম্যাটটির মূলত একটি নির্দিষ্ট ক্ষেত্রে রূপান্তর করা প্রয়োজন এবং কেবল প্রথম 3 অক্ষরের দিকে তাকানো দরকার।
xnor

4
"উদাহরণস্বরূপ, - এটা দেখে মনে হচ্ছে আপনি তালিকাভুক্ত ধরনের সব হ্যান্ডেল উত্তর চান তেমনি december, DECএবং decউচিত সব রিটার্ন 31" - যে উদ্দেশ্য আছে কি?
জোনাথন অ্যালান

উত্তর:


4

পাইকে , 9 বাইট

l4C9@~%R@

এখানে চেষ্টা করুন!

l4        -   input.title()
    @     -  v.index(^)
  C9      -   ['PADDING', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']
        @ - v[^]
     ~%R  -  ['Padding', 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

বা সমস্ত ইনপুট ফর্ম্যাটগুলির প্রয়োজন হলে 15 বাইট

l43<C9 3L<@~%R@

এখানে চেষ্টা করুন!

l43<            -   input.title()[:3]
          @     -  v.index(^)
    C9 3L<      -   ['PAD', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
              @ - v[^]
           ~%R  -  ['Padding', 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]

6
এটি 31 এর জন্য ফেরত দেয় FEB
লাইকনি

2
আমি বিশ্বাস করি @ Laikoni এর বিন্দু বৈধ (এটা এছাড়াও 31 ফেরৎ Apr, Jun, Sep, এবং Nov) কিন্তু মনে করে যে এটি ওপি একটু ব্যাখ্যার প্রয়োজনীয়তা (আমার দেখতে প্রশ্ন )।
জোনাথন অ্যালান

@ জোনাথন অ্যালান আচ্ছা, ওপি এই উত্তরটি গ্রহণ করেছে, সুতরাং আমার ধারণা এটি বৈধ?
এরিক আউটগল্ফার

4
@ এরিকথ আউটগল্ফারকে আমি ব্যক্তিগতভাবে এই সিদ্ধান্তে উঠতে পারি না।
জোনাথন অ্যালান

আমি এই ধারণার মধ্যে ছিলাম যে এটির জন্য কেবল ইনপুটগুলির এক ফর্মের জন্য কাজ করা দরকার
ব্লু

33

জাভাস্ক্রিপ্ট (ES6),  48 47 44 43  42 বাইট

m=>31^'311'[parseInt(m[1]+m[2],34)*3%49%8]

ডেমো

কিভাবে?

এই ক্রিয়াকলাপগুলি 8 টি এন্ট্রিগুলির একটি সন্ধানের সারণীতে নেতৃত্ব দেয় যা মানগুলি এলোমেলোভাবে বিতরণ করা হলে এটি খুব আকর্ষণীয় হবে না। তবে 2 এর চেয়ে বেশি যে কোনও ফলাফল 31 দিনের মধ্যে ম্যাপ করা হয় । সুতরাং, কেবলমাত্র প্রথম 3 টি এন্ট্রি স্পষ্টভাবে সংরক্ষণ করা দরকার stored

Month | [1:2] | Base 34 -> dec. | * 3  | % 49 | % 8 | Days
------+-------+-----------------+------+------+-----+-----
  JAN |    AN |             363 | 1089 |   11 |   3 |  31
  FEB |    EB |             487 | 1461 |   40 |   0 |  28
  MAR |    AR |             367 | 1101 |   23 |   7 |  31
  APR |    PR |             877 | 2631 |   34 |   2 |  30
  MAY |    AY |              10 |   30 |   30 |   6 |  31
  JUN |    UN |            1043 | 3129 |   42 |   2 |  30
  JUL |    UL |            1041 | 3123 |   36 |   4 |  31
  AUG |    UG |            1036 | 3108 |   21 |   5 |  31
  SEP |    EP |             501 | 1503 |   33 |   1 |  30
  OCT |    CT |             437 | 1311 |   37 |   5 |  31
  NOV |    OV |             847 | 2541 |   42 |   2 |  30
  DEC |    EC |             488 | 1464 |   43 |   3 |  31

14
সত্যিই কীভাবে আপনি পৃথিবীতে পাগল গণিতের জিনিসগুলি দিয়ে এই আশ্চর্যজনক অদ্ভুত জমাগুলি চালিয়ে যাচ্ছেন ডি: আপনার কী এইগুলি খুঁজে পাওয়ার কোনও প্রোগ্রাম আছে বা আমাদের বাকিদের জন্য আপনি খুব ভাল
হাইপারনিউটারিনো

1
@ হাইপারনিট্রিনো প্রথম যে বিষয়টি আমি চেষ্টা করি তা সর্বদা বেস রূপান্তরটি সন্ধান করা, তার পরে এক বা একাধিক মডুলো অপারেশনগুলির পরে anচ্ছিক গুণ করা হয়। এইটিকে সেই পথে দ্রুত পাওয়া গেল। তবে আমি চ্যালেঞ্জটি ভুলভাবে পড়েছি এবং প্রথমে ভেবেছিলাম যে .substr(0,3)এটির প্রয়োজন নেই। সুতরাং, দ্বিতীয় চিন্তায়, এটি সর্বোত্তম পদ্ধতির নাও হতে পারে।
আর্নৌল্ড

substr? slice!
নিল

আমার তুচ্ছ দৃষ্টিভঙ্গি কেবলমাত্র <s> 2 </s> 3 বাইট দীর্ঘ, সুতরাং এটি সম্ভবত সর্বোত্তম নাও হতে পারে তবে এটি এখনও খুব চিত্তাকর্ষক :)
হাইপারনিউটারিনো

1
কারওর সম্পাদনাটি সেই অংশটি সরিয়ে নিয়েছিল, তবে মূলত আমি এটিকে অস্বীকার করার একটি কারণ হ'ল আমি এর মতো উত্তর দেখতে চাইছিলাম। আমি মূলধন এবং বিভিন্ন ফর্ম্যাটের ইস্যুটিকে পাশ কাটাতে 34 ব্যবহারের পছন্দটি পছন্দ করি।
qw3n

15

জাভাস্ক্রিপ্ট (ES6), 36 33 বাইট

-3 বাইটস @ জাস্টিনমারিনার এবং @ নীলকে ধন্যবাদ

m=>31-new Date(m+31).getDate()%31

দুঃখিত, আরনাউল্ড, জাভাস্ক্রিপ্টের অদ্ভুততা অপব্যবহার করা আপনার অভিনব বেস রূপান্তরগুলির চেয়ে কম।

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

কোনও কারণে, জাভাস্ক্রিপ্ট নির্দিষ্ট মাসের বাইরে তারিখ প্রবেশের অনুমতি দেয়। কোডটি মাসের বাইরে কত দিন থাকে তা নির্ধারণ করতে মাসে কত দিন থাকে তা গণনা করা হয়। উদাহরণ:
"FEB31"Thu Mar 02 200031 - 2 % 3129
"October31"Tue Oct 31 200031 - 31 % 3131

পরীক্ষার মামলা


এমএস এক্সেল এটিও করে থাকে .. জানুয়ারী 0 সর্বদা ডিসেম্বরের শেষ দিন, সুতরাং = দিন ("00/01/2017") 31
ডেভচানা

দেখে মনে হচ্ছে জাভাস্ক্রিপ্ট কেবল তারিখের স্ট্রিংগুলিকে মঞ্জুরি দেয় যেখানে দিনটি 31 দিন অবধি থাকে you (বা অনুরূপ স্ট্রিং), এটি কেবল "অবৈধ তারিখ" বলে। আশ্চর্যের সাথে যথেষ্ট, আপনি যদি দিনটি 0 ("feb 0") এ সেট করেন তবে এটি 2000-01-31 এর পরিবর্তে 2000-02-01 এ অনুবাদ হয়।
টহপর্স

আপনি আগে স্পেস ফেলে দিয়ে বাইট সংরক্ষণ করতে পারবেন 31। এটি new Date("feb31")উদাহরণস্বরূপ Chrome এ কাজ করে বলে মনে হচ্ছে ।
জাস্টিন মেরিনার

বাস্তবে আপনি সম্ভবত +31তিনটি বাইট সাশ্রয় করে ব্যবহার করতে পারেন । যদিও এর কোনওটিই ফায়ারফক্সে কাজ করে না।
নিল


7

বাশ , 21 বাইট

cal $1|xargs|tail -c3

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

কমান্ড-লাইন আর্গুমেন্ট হিসাবে ইনপুট নেয় এবং একটি ট্রেলিং নতুন লাইনের সাথে আউটপুট দেয়। ফেব্রুয়ারির দিন গণনা বর্তমান বছরের উপর নির্ভর করে

প্রয়োজন util-লিনাক্স 2,29 সংস্করণ cal, যা এক Tio উপলব্ধ । এছাড়াও স্থানীয়-নির্ভর, তাই LC_TIME অবশ্যই অ-ইংলিশ সিস্টেমে পরিবর্তন করা উচিত (স্পষ্টকরণের জন্য @ ডেনিসকে ধন্যবাদ)।

মাধ্যমে বংশীধ্বনিতুল্য এর আইডিয়া xargsছাঁটা calএর আউটপুট থেকে এই তাই উত্তর


2
এটি কেবল বাশ নয়। সাধারণত এটি শ, তবে সম্ভবত প্রায় প্রতিটি শেল বাস্তবায়ন যা ক্যাল, লেজ এবং জার্গস সহ একটি সিস্টেমে পাথ লকআপ এবং পাইপগুলিকে সমর্থন করে।
কোজিরো

5

প্রোটন , 50 বাইট

k=>31-((e=k.lower()[1to3])in"eprunov")-3*(e=="eb")

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

-14 বাইট জোনাথন ফ্রেচের জন্য ধন্যবাদ

ত্রিশ দিন হল সেপ্টেম্বর, এপ্রিল, জুন এবং নভেম্বর। বাকী সবাই ছিল চিনাবাদাম মাখন। আমার দাদী বাদে সব; তার একটু রেড ট্রাই ছিল, কিন্তু আমি এটি চুরি করেছি। muahahahahaha

(আমি এই কৌতুকটি বলার অপেক্ষা রাখছিলাম (উত্স: আমার গণিত অধ্যাপক) এই সাইটে যুগে যুগে: ডি: ডি: ডি)


@ রিকার ওহ ওফফ! আমি যখন এটি লেখা শুরু করলাম তখন সেখানে ছিল না: /
হাইপারনিউটারিনো

1
একটি নতুন নিয়ম রয়েছে যে আপনাকে বৈধ মাসের জন্য না পরীক্ষা করে ফিরে আসতে হবে ০. আমি আশা করি এটি মুছে ফেলা হয়েছে
স্তর নদী সেন্ট

1
কিছুই মনে রাখবেন পরিবর্তন আমি এই অংশটি মুছে দিচ্ছি
qw3n

আমি মনে করি আপনি স্ট্রিংয়ের 'sepaprjunnov'তালিকার পরিবর্তে একটি একক স্ট্রিং ব্যবহার করতে পারেন ।
জোনাথন ফ্রেচ

পুনঃটুইট করুন আমি চেষ্টা করব, ধন্যবাদ
HyperNeutrino

4

সি # (.নেট কোর) , 52 + 13 = 65 38 + 24 = 62 বাইট

m=>D.DaysInMonth(1,D.Parse(1+m).Month)

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

+24 এর জন্য using D=System.DateTime;

প্রাপ্তি স্বীকার

-3 বাইট গ্রেজেগার্জ পুয়াওস্কিকে ধন্যবাদ।


এই ছাড়া কি কাজ করে using System;? বা আপনি বাইট গণনা থেকে নিষ্কাশন করতে পারেন?
ম্যাটি

@ ম্যাটি এটি একটি ভাল বিষয়; এখন যোগ করা হয়েছে।
আইয়ব 4 বিটিটি

দেরীতে টিপ, তবে -৩ বাইট: using D=System.DateTime;এবং m=>D.DaysInMonth(1,D.Parse(1+m).Month)এখানে পছন্দ করুন: tio.run/##jc5BSwMxEAXgs/…
গ্রেজগোর্জ পুয়াওস্কি

3

পাইথন 3 , 60 বাইট

x=input().lower()[1:3];print(31-(x in"eprunov")-3*(x=="eb"))

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

আমার প্রোটন সমাধানটি পোর্টিং করা হচ্ছে

-10 বাইট পুরোপুরি মানবিক ধন্যবাদ


আমার হিহ থেকে ভাল
থমাস ওয়ার্ড


: পি বিল্টিনগুলি কখনও কখনও খুব দীর্ঘ হয়: পি
হাইপারনিউটারিনো

নিবন্ধন করুন +1 ধন্যবাদ: পি
হাইপারনিউটারিনো




2

পাইথন 3 - 93 86 84 82 বাইট

উত্তরের রূপগুলি (সময়ের অগ্রগতি এবং টিআইও লিঙ্কগুলির সাথে প্রত্যেকের জন্য বাইটস দেখায়):

আসল উত্তর (93 বাইট)

-7 বাইট জোনাথন ফ্রেচের জন্য ধন্যবাদ। (86 বাইট)

-2 আরও বাইটস আমার নিজের monthrangeফলাফলের আরও পরীক্ষার জন্য ধন্যবাদ , দ্বিতীয় মানটি সর্বদা উচ্চতর মান হিসাবে। (84 বাইট) 1

import calendar as cএটি ব্যবহার করে এবং এর সাথে উল্লেখ করে আরও 2 টি c.monthrange(৮২ বাইট, বর্তমান সংশোধন )


lambda x:c.monthrange(1,time.strptime(x[:3],'%b')[1])[1];import time,calendar as c

স্পষ্টতই হাইপারনিউটারিনোর উত্তরের মতো সুন্দর নয় যা বিল্ট-ইনগুলি ব্যবহার করে না, তবে এটি এখনও কার্যকর হয়।


পাদটিকা

1 : টিআইও.আরুনের মাধ্যমে পরীক্ষার কেসগুলি আমি কীভাবে সেই monthrangeমানগুলি পরিচালনা করছি তার প্রমাণ দেখায় , বিভিন্ন মাসের পরীক্ষার ক্ষেত্রে।



@ জোনাথানফ্রেচ ধন্যবাদ আমার মাস্টারঞ্জ কীভাবে কাজ করে তার আরও পরীক্ষা করে নীচের দিকে আরও সংশোধন করা হয়েছে, এবং import ...,calendar as cদু'বার 'ক্যালেন্ডার' টাইপ না করার জন্য ব্যবহার করে ।
থমাস ওয়ার্ড


2

হাস্কেল , 65 63 62 বাইট

f.map((`mod`32).fromEnum)
f(_:b:c:_)|c<3=28|c>13,b>3=30
f _=31

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

প্যাটার্ন ম্যাচিং পদ্ধতির। প্রথম লাইনটি কেস-সংবেদনশীলতা সামলানো। তারপরে 28তৃতীয় বর্ণটি সি (সংখ্যা 3) এর চেয়ে ছোট হলে আমরা ফিরে আসি, 30যদি দ্বিতীয় বর্ণটি সি এর চেয়ে বড় হয় এবং তৃতীয়টি এম এর চেয়ে বড় হয়, বা31 অন্যথায় ফিরে আসি।

সম্পাদনা করুন: -1 বাইট ধন্যবাদ লিওকে


বিকল্প ( 65 64 বাইট)

f s|let i#n=n<mod(fromEnum$s!!i)32=sum$29:[2|2#2]++[-1|2#13,1#3]

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


1
চালাক এক! c<3পরিবর্তে পরীক্ষা করে আপনি একটি বাইট সংরক্ষণ করতে পারেন a==6(ফেব্রুয়ারী প্রথম মাস যদি আপনি তাদের তৃতীয় চিঠি দ্বারা আদেশ করেন, তারপরে ডিসেম্বরের পরে)
লিও

2

এপিএল (ডায়ালগ) , 32 বাইট *

Tacit উপসর্গ ফাংশন। ধরে নেওয়া ⎕IO( I ndex O rigin) 0, যা অনেক সিস্টেমে ডিফল্ট।

31 28 30⊃⍨∘⊃'.p|un|no|f'S 11

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

⍠1 সংবেদনশীলভাবে কেস

1 দৈর্ঘ্য ফিরে

⎕S PCRE এস জন্য earch

'.p|un|no|f' যে কোনও চর, "পি" বা "আন" বা "না" বা "চ"

⊃⍨∘⊃ এবং এটি থেকে প্রথম উপাদানটি ব্যবহার করুন (যদি 0 না হয় তবে) থেকে নিন

31 28 30 এই তালিকা

এভাবে:

  • এপি আর, এস এপি , জে আন এবং নো ভি সূচক 2 এ 30 নির্বাচন করবে

  • F eb সূচক 1 এ নাম্বারটি নির্বাচন করবে, যথা 28

  • অন্য যে কোনও কিছুই সূচক 0 তে নম্বর নির্বাচন করবে, যথা 31 31


ক্লাসিক ব্যবহার এবং হিসাবে গণনা ⎕OPT


2

মিডিয়াউইকি টেম্পলেট, 19 বাইট

{{#time:t|{{{1}}}}}

1

এমএটিএল , 22 বাইট

14L22Y2c3:Z)Z{kj3:)km)

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

ব্যাখ্যা

14L    % Push numeric array of month lengths: [31 28 ... 31]
22Y2   % Push cell array of strings with month names: {'January', ..., 'December'}
c      % Convert to 2D char array, right-padding with spaces
3:Z)   % Keep first 3 columns
Z{     % Split into cell array of strings, one each row
k      % Convert to lower case
j      % Input string
3:)    % Keep first 3 characcters
k      % Convert to lower case
m      % Ismember: gives a logical index with one match
)      % Use that as index into array of month lengths. Implicit display

1

ওল্ফ্রাম ভাষা (গণিত) , 46 30 বাইট

#~NextDate~"Month"~DayCount~#&

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

পারেন দেবে 28বা 29তার উপর নির্ভর করে কিনা চলতি একটি লীপ বছর ফেব্রুয়ারি জন্য।

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

ম্যাথামেটিকাল সকল তারিখ কমান্ড ইনপুট কী ব্যাখ্যা দেবেন যেমন April, APR, ApRiL, ইত্যাদি বর্তমান বছরের মধ্যে সংশ্লিষ্ট মাসের প্রথম দিনে হিসাবে। (বোনাস হিসাবে, ইনপুট যেমন "February 2016"বা {2016,2}প্রত্যাশার মতো কাজ করে))

#~NextDate~"Month"তার পরে মাসের প্রথম দিনটি DayCountদেয় এবং তার দুটি তর্কের মধ্যে দিনের সংখ্যা দেয়। ১ লা এপ্রিল থেকে ১ লা মেয়ের মধ্যে দিনের সংখ্যা 30, এপ্রিলের দিন সংখ্যা।


1

জাভা 8 , 47 বাইট

m->31-new java.util.Date(m+"31 1").getDate()%31

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

হারমান লাউস্টেইনের জেএস উত্তর হিসাবে একই ধারণাটি ব্যবহার করে শেষ হয়েছে , যেখানে পরবর্তী তারিখটি 31 তম তারিখে সেট করা হয়েছে। জাভা এক বছর প্রয়োজন, তাই সেট করা হয়েছে 1


1

রেটিনা , 32 31 28 বাইট

i`f
28
i`p|v|un
30
\D

^$
31

এটি অনলাইন চেষ্টা করুন! সম্পাদনা করুন: @ রবার্টবেইনসকে ধন্যবাদ 1 বাইট সংরক্ষিত @Ovs এর জন্য 3 বাইট সংরক্ষণ করা হয়েছে


আমি বিশ্বাস করি আপনি 'eb' এর পরিবর্তে 'f' ব্যবহার করে একটি বাইট বাঁচাতে পারবেন
রবার্ট বেনসন


1

q / kdb +, 36 বাইট

সমাধান:

28 30 31@2^1&(*)"ebeprunov"ss(_)1_3#

উদাহরণ:

q)28 30 31@2^1&(*)"ebeprunov"ss(_)1_3#"January"
31
q)28 30 31@2^1&(*)"ebeprunov"ss(_)1_3#"FEB"
28
q)28 30 31@2^1&(*)"ebeprunov"ss(_)1_3#"jun"
30

ব্যাখ্যা:

বিড়ালের চামড়ার লক্ষ লক্ষ উপায় রয়েছে। আমি মনে করি অন্যদের থেকে কিছুটা আলাদা। ইনপুটটির 2 য় এবং 3 য় অক্ষর নিন, সেগুলি ছোট করুন, তারপরে সেগুলিতে সন্ধান করুন "ebeprunov"। যদি তারা 0 অবস্থানে থাকে তবে এটি ফেব্রুয়ারী, যদি তারা কোনও স্থানে থাকে> 0 তারা 30 দিনের দিন হয়, যদি তারা স্ট্রিংটিতে না থাকে তবে তারা 31 দিনের দিন।

28 30 31@2^1&first"ebeprunov"ss lower 1_3# / ungolfed solution
                                        3# / take first 3 items from list, January => Jan
                                      1_   / drop the first item from the list, Jan => an
                                lower      / lower-case, an => an
                  "ebeprunov"ss            / string-search in "ebeprunov", an => ,0N (enlisted null)
             first                         / take the first, ,0N => 0N
           1&                              / take max (&) with 1, 0N => 0N
         2^                                / fill nulls with 2, 0N => 2
        @                                  / index into
28 30 31                                   / list 28,30,31

1

এক্সেল ভিবিএ, 47 43 বাইট

বেনামে VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা মাসের নাম, সংক্ষিপ্তসার বা সংখ্যা হিসাবে পরিসীমা থেকে ইনপুট নেয় [A1]এবং 2001 সালে সেই মাসের দৈর্ঘ্যকে ভিবিই তাত্ক্ষণিক উইন্ডো ফাংশনে আউটপুট করে।

?31-Day(DateValue("1 "&[A1]&" 1")+30)Mod 31

পুরনো সংস্করণ

d=DateValue(["1 "&A1&" 1"]):?DateAdd("m",1,d)-d

1

পিএইচপি, 38 33 + 1 32 + 1 বাইট

টাইটাসকে 5 বাইট সংরক্ষণ করে

<?=date(t,strtotime("$argn 1"));

পাইপ হিসাবে চালান -nF

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


1
আরে, আমি আপনার প্রয়োজন .' 1'বলে মনে করি না , এটি ছাড়া এটি টিআইও-তে কাজ করে বলে মনে হচ্ছে!
ডোম হেস্টিংস

1
28 + 1 বাইট: <?=date(t,strtotime($argn));(পাইপ হিসাবে চালিত করুন -nF)
টাইটাস

3
@ ডোমহাস্টিংস - সুতরাং, আমি পোস্ট করার আগে, আমি এটি পরীক্ষা করে দেখেছিলাম যে এটিগুলি ছাড়া কাজ করবে কিনা .' 1', তবে এটি কাজ করছে না। আপনার মন্তব্য দেখার পরে, আমি কী ভুল করেছি তা নির্ধারণ করার চেষ্টা করেছি। যেহেতু আমি এটিকে 31 শে মাসে চালিয়ে যাচ্ছিলাম, আমি যে কোনও মাসি রেখেছি তাতে 31 তম (বর্তমান) দিন লাগছিল, যা এটি চলমান মাসের বাইরে চলে যাবে। ফেব্রুয়ারী 31 শে মার্চ 3 এ পরিবর্তিত হয়, সুতরাং কোডটি 31 (মার্চের দিনগুলির সংখ্যা) ফেরায়। এ কারণে, প্রতি মাসে 31 ফিরছিল So সুতরাং, এটি .' 1'কোনও দিন <= 28 শে মাস ছাড়া কাজ করে।
জো।

আহ্, পিএইচপি কীভাবে ফাঁকা জায়গায় ভরে যায় তা আমি ভুলে গেছি! ব্যাখ্যা করার জন্য ধন্যবাদ!
ডোম হেস্টিংস

টিটাস আপনাকে ধন্যবাদ আমি এমন একজন গল্ফ নবাগত! আমি জানি না কেন আমি বুঝতে পারছি না 't'-> t। এছাড়াও "কীভাবে পাইপ হিসাবে চালানো যায়" তা নির্ধারণ করার জন্য আমাকে অনেকগুলি অনুসন্ধান করতে হয়েছিল -nFতবে আমি এটি খুঁজে পেয়েছি (আমার মনে হয়)। :)
জো।

0

জাভা (ওপেনজেডিকে 8) , 126 বাইট

s->{for(java.time.Month m:java.time.Month.values())if(m.name().startsWith(s.toUpperCase()))System.out.print(m.length(false));}

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


1
আমি মনে করি আপনি falseএকটি বুলিয়ান এক্সপ্রেশনটি সংক্ষিপ্ত করতে পারেন 1<0একটি দম্পতি বাইট সংরক্ষণ করতে চান।
জাস্টিন মেরিনার

0

কিউবিআইসি , 49 35 বাইট

?31-(instr(@aprjunsepnov feb`,;)%3)

উল্লেখযোগ্যভাবে কিছু কৌশল সঙ্গে সংক্ষিপ্ত।

ব্যাখ্যা

?                          PRINT
31-(                       31 minus
  instr(                   the position of
                      ,;   our input string
    @aprjunsepnov feb`  )  in the string cntaining all non-31 months                                
    %3)                    modulo 3 (this yields a 1 for each month except feb=2)


0

রুবি , 45 বাইট

->m{((Date.parse(m)>>1)-1).day}
require'date'

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

রুবি Date.parseতার নিজের নামে এক মাসের নাম গ্রহণ করে। সাধারণত একটি ডান শিফট ( >>) আসলে কী হবে তা Dateবস্তুর মাসে যুক্ত হয় । বিয়োগটি মাসের দিনটিকে প্রভাবিত করে, যা পূর্ববর্তী মাসের শেষ দিনটিকে পিছনের দিকে মোড়বে।


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