タグ付けされた質問 「date」

この課題は、カレンダーの日付または時刻を使用、操作、入力として受け入れる、出力、または計算することで解決することを目的としています。

1
ISO 8601日付の検証で純粋な正規表現を破る
ではRXによって検証ISO 8601、挑戦はするだけで、標準的な正規表現を使用していた標準の日付形式検証と値を(前者はRXのための共通の仕事で、後者は異例でした)。勝った答えは778バイトを使用しました。この課題は、特別な日付関数またはクラスを使用せずに、選択した任意の言語を使用してそれを克服することです。 チャレンジ 最短のコードを見つける Proleptic Gregorianカレンダーのすべての可能な日付を検証します(これは1582年に最初に採用される前のすべての日付にも適用されます)。 無効な日付と一致しない 事前に定義された関数、メソッド、クラス、モジュールなどを使用して日付(および時刻)を処理しません。つまり、文字列および数値演算に依存します。 出力 出力は真実または偽です。日付を出力または変換する必要はありません。 入力 入力は、3つの拡張ISO 8601日付形式のいずれかの単一文字列です。 最初の2つは±YYYY-MM-DD(年、月、日)と±YYYY-DDD(年、日)です。両方ともうるう日に特別なケーシングが必要です。これらは、これらの拡張RXによって個別に単純に照合されます。 (?<year>[+-]?\d{4,})-(?<month>\d\d)-(?<day>\d\d) (?<year>[+-]?\d{4,})-(?<doy>\d{3}) 3番目の入力形式は±YYYY-wWW-D(年、週、日)です。複雑なうるう週パターンのため、複雑なものです。 (?<year>[+-]?\d{4,})-W(?<week>\d\d)-(?<dow>\d) 条件 うるう年予期的グレゴリオ暦のカレンダーでは、含まれているうるう日 …-02-29、したがって、それは長い366日で、それ故に…-366存在します。これは、(おそらく負の)序数が4で割り切れる年に発生しますが、400で割り切れる場合を除き、100で割り切れません。 このカレンダーにはゼロ年が存在し、うるう年です。 長い年のISO週のカレンダーでは、第53週が含ま…-W53-…1は「という用語ができ、飛躍の週を」。これは、1月1日が木曜日であるすべての年に発生し、さらに水曜日であるすべてのうるう年に発生します。0001-01-01そして2001-01-01月曜日です。通常、5年または6年ごとに、一見不規則なパターンで発生することが判明しています。 年は少なくとも4桁です。10桁を超える年は、宇宙の年齢(約140億年)に十分近いため、サポートする必要はありません。先頭のプラス記号はオプションですが、実際の標準では、4桁を超える年数は必須であることを示しています。 部分的な日付または切り捨てられた日付、つまり日精度未満の日付は受け入れられません。-すべての場合にハイフンを分離する必要があります。(これらの前提条件により、リード+は常にオプションになります。) ルール これはコードゴルフです。バイト単位の最短コードが優先されます。以前の回答が引き分けになります。 テストケース 有効なテスト 2015-08-10 2015-10-08 12015-08-10 -2015-08-10 +2015-08-10 0015-08-10 1582-10-10 2015-02-28 2016-02-29 2000-02-29 0000-02-29 -2000-02-29 -2016-02-29 +2016-02-29 200000-02-29 -200000-02-29 +200000-02-29 2016-366 2000-366 0000-366 -2000-366 …
12 code-golf  date 

5
ASCIIカレンダープランナー
アクティビティのリストとその開始時刻/日付を指定して、適切な日のアクティビティを示すASCIIアートカレンダーを出力します。すべてのアクティビティは同じ月に行われることが保証され、同じ日に2つのアクティビティが行われることはありません。また、すべてのアクティビティはカレンダーボックスに収まることが保証されます。 カレンダーの日付は各ボックスの左上隅にあり、ボックスは幅9スペース、高さ5スペースで、で囲まれ-てい|ます。曜日の2文字の略語は最初の行の上に中央揃えされ、週は日曜日から始まります。 たとえば、次のアクティビティがあるとします。 10/5/2018 - 9:00am - Sandbox calendar challenge 10/9/2018 - 9:00am - Post challenge to main 10/10/2018 - 10:00am - Profit 10/31/2018 - 7:30pm - Halloween party この対応するカレンダーを出力します。 Su Mo Tu We Th Fr Sa ----------------------------------------------------------------------- | |1 |2 |3 |4 |5 |6 | | | | | …

12
0000-01-01から99999-12-31までの回文のプライム日付をすべてリストします
回文、プライム、日付が何であるかを知っています。 あなたの仕事は、3つの特性すべてを満たす10万年のすべての日付をリストすることです。 数字以外は気にせず、次の形式を使用します:YYYYMMDDおよびYYYYYMMDD。 0000-01-01から9999-12-31 までの日付は8桁の回文日付(ある場合)として印刷し、10000-01-01から99999-12-31までの日付は9桁の回文日付として印刷する必要があります。 日付を時系列にリストすることは必須ではありません。 有効な出力の一部の例。 最初の3つの9桁の主回文日付: ... 100111001 100131001 100161001 ... ルール 標準の抜け穴が適用されます。

10
最も近い特別共通年はいつですか?
一般的な年はうるう年とどこ年の最初と最後の日が同じ日にあるではない年です。特別な共通今年はうまくとして月曜日に終了し、月曜日にとして始まるものです。 あなたの課題は、入力として年を指定すると、最も近い特別な共通の年を見つけ、それが共通の年である場合にそれ自体を出力するプログラム/関数を作成することです。年がその前の年に近い場合、その次の年が大きい年を出力します。 入力 範囲内でテストする年を表す整数1600 <= x <= 2100。 出力 最も近い特別な一般年を表す整数。 テストケース 2017 -> 2018 2018 -> 2018 1992 -> 1990 1600 -> 1601 2100 -> 2103 1728 -> 1731 (lies between 1725 and 1731) ノート 指定された範囲内の54年はすべて、リンクされたWikipediaの記事にすでに表示されています。また、参照用にここで提供します。 1601, 1607, 1618, 1629, 1635, 1646, 1657, 1663, 1674, 1685, 1691 1703, 1714, 1725, …
11 code-golf  date 

11
ナックルを数えることで、31日間が何ヶ月あるかを数えます
まだ自分のナックルを使用して、1か月が31日以内であるかどうかを判断する人はどれくらいいますか? あなたの仕事は、「ナックルを数える」ことで、1か月の範囲で何月が31日間完全になり、31日間未満になるのかを数えるプログラムを書くことです。 礼儀:amsi.org.au 入力 一対の月。最初の月は2番目の月の前に時系列に来る必要はなく、適切な形式で与えられます。例:201703 201902— 2017年3月から2019年2月。選択した入力形式を説明してください。入力には、1〜9999のすべての年を含めることができる必要があることに注意してください。指定された月の範囲には、開始月と終了月の両方が含まれます。 出力 2つの整数:31日の範囲内の月数と31日未満の範囲内の月数。 例:14 10— 14個のナックル、10個の溝(つまり、その月の範囲では、完全な31日を持つ14か月と、31日未満の10か月があることを意味します)。 たとえば、範囲内の2番目の月が最初の月よりも前に来る入力の場合、201612 201611ゼロのペアを出力する必要があります。 入力と出力の例 | Input | Output | |---------------|-------------| | 201703 201902 | 14 10 | | 201701 202008 | 26 18 | | 000101 999912 | 69993 49995 | | 201802 201803 | 1 1 | | …

2
Xが3より大きく、XとYの間に少なくとも2つの差がある
私はいくつかのC ++をゴルフしようとしています。この条件を短くすることは可能ですか? X > 3 & X - Y > 1 (もちろん、空白の削除は別として。) だから、X少なくともです4がX >= Y + 2。 XおよびYは、[0,5]間隔の整数です。 ビット単位の数式を見つけようとしましたが、失敗しました。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

6
この日付までどのくらいですか?
考え方は次のとおりです。現在/今日の日付(関数が呼び出された時点)から引数として指定された日付までの時間の長さを出力する関数を作成します。 仮定: 入力日付は常に明日以降になります。 入力日が10年を超えることはありません。 ルール: 出力は次の形式である必要があります。「[z年]、[x月]、y日まで-入力日-」 出力時間枠(日/月/年)は正しく複数形にする必要があります。すなわち1 month、ない1 months 入力は、どの日付形式にすることができますが、( - 2012年3月15日- 2012年3月15日を3/15/12)を好みます。 例: プログラムが2012年3月15日に実行されると仮定します。 入力日3/20/12=5 days until 3/20/12 NOTの入力日付4/16/12=1 month, 1 days until 3/20/12 入力日2012.04.20=1 month, 5 days until 2012.04.20 NOTの入力日付2012.04.20=36 days until 2012.04.20 入力日10/31/17=5 years, 7 months, 16 days until 10/31/17 入力日3/15/13=1 year until 3/15/13 これはコードゴルフなので、最短のコードが勝ちます。 締め切りを設けるために、次の答えを選択します。 2012年3月23日! …
11 code-golf  date 

5
2日間の差を計算します。
別の日付操作の問題:P 仕事 ユーザーが指定した2つの日付の差を計算するプログラムまたは関数を作成します。 入出力 前のものと同様に、入力はYYYYMMDDスペース、コンマ,、またはマイナス記号で区切られた2つ-です。 入力値の例: 20100101-20010911 20110620-20121223 19000101 20101010 33330101,19960229 00010101 99991231 出力は整数であり、2つの日付の日数の差です。 たとえば、入力20110101-20100101yields 365および33320229 17000101yields 596124。 結果をテストできます ここで ここで。(以下のrintaunのコメントを参照してください。)2つの日付が同じ0場合、日付が有効であればプログラムはを返します(スコアを参照)。 制限 もちろん、あなたがしなければならない使用しない任意の関数/クラスの種類/ ...タイムスタンプまたは日付に関連している、とあなたが使用する必要がありますグレゴリオ暦を。 スコア あなたのコードは、制限を守らない場合score = -∞。 デフォルトbonusは1です。 入力の順序(たとえば、20100101,20110101return 365または-365)に関係なくコードが機能する場合bonus+=1。 あなたのコードが処理できる場合は年0、bonus+=0.5。 あなたのコードが/日付(1〜12の間)のように、(1〜31の間)、無効な月を認識した場合20109901や34720132、および印刷物E(&などのプログラムや戻り何かを終了0)、 bonus+=1。 かかわらず、上記のルールの、あなたのコードは無効な日付を認識した場合、のような20100230、20100229あるいは20111131、および印刷物E(&プログラムまたは返すようなものを終了0)、 bonus+=1。 上記の2つのルールに関係なく、コードが20100101|20100202orなどの無効な入力文字列を認識し2010010120100202、印刷E(&がプログラムを終了する、またはのようなものを返す0)する場合bonus+=1。 score = floor(-4.2*code.length/bonus)。最高スコアのコードが勝ちます。2つの上位コードのスコアが同じ場合、ボーナスが最も高いコードが勝ちます。2つの上位コードが同じスコアとボーナスの両方を持っている場合、最高得票のコードが勝ちます。 (期限:+1投票数が多い(または等しい)コードが5つ以上ある場合。)
11 code-golf  date 

14
1か月の稼働日の割合
年と月を考えて、その月の就業日の割合を調べます。稼働日は、月曜日から金曜日で、休日やその他の特別なことは考慮されません。グレゴリオ暦が使用されます。 入力 ISO 8601形式の年と月(YYYY-MM)。年は常に4桁、月は常に2桁です。指定された年は1582年より前ではありません。 出力 出力は、整数に丸められた、指定された月の就業日(上記の定義による)のパーセンテージです。パーセント記号や小数桁は続きません。 サンプル1 Input Output 2010-05 68 サンプル2 Input Output 2010-06 73 サンプル3 Input Output 1920-10 68 サンプル4 Input Output 2817-12 68 1週間が経過し、回答が受け入れられました。好奇心旺盛な方のために、コンテストで私たちが受け取った提出物のサイズ: 129 – Zシェル 174 – VB.NET 222 – C 233 – C 300 – C 独自の(ランク付けされていない)ソリューションと同様に: 75 – PowerShell 93 – Ruby 112 …
11 code-golf  date 

9
この日付形式は何ですか?
グレゴリオ暦の場合、日付の形式は国によって異なります。認識される3つの主要な形式があります。 YY-MM-DD (ビッグエンディアン) DD-MM-YY (リトルエンディアン) MM-DD-YY (ミドルエンディアン) あなたの仕事は、日付を表す入力文字列を与えられ、この文字列を日付として解釈できるすべての可能な日付形式を出力するプログラムを書くことです。 ルール 入力日付の形式xx-xx-xxはで、各フィールドは2桁でゼロが埋め込まれます。 日付は常に有効です(14-13-17のようなものは取得できません) 日付は常に上記の形式の少なくとも1つです(したがって、17-14-11のようなものは取得できません) 私たちは実際にはパラレルワールドにいるため、1年の各月には31日あり、その結果、うるう年はありません 日付は2001年1月1日から2099年12月31日の間 日付の形式が1つしかない場合、コードはそれだけを印刷する必要があります(末尾の改行のみが許可されます)。 日付の形式が複数ある場合は、コンマ、スペース、改行、またはそれらの組み合わせで区切る必要があります 形式の正確な名前を出力する必要があります。異なる任意の値を使用することはできません。 末尾のスペース以外の先頭または末尾の文字は使用できません 出力は小文字でなければなりません 組み込みの日付またはカレンダー関数の使用は許可されていません 出力フォーマットをソートする必要はありません 例 Input Output 30-05-17 big-endian, little-endian 05-15-11 middle-endian 99-01-02 big-endian 12-11-31 big-endian, little-endian, middle-endian 02-31-33 middle-endian これはコードゴルフなので、バイト単位の最短コードが優先されます。説明が奨励されます。
11 code-golf  date 

1
たたみばりソルバー
バックグラウンド タタミバリはニコリが設計した論理パズルです。 :Tatamibariパズルは、その中のシンボルの三つの異なる種類の長方形のグリッド上で再生され+、-。と|。ソルバーは、次の規則に従ってグリッドを長方形または正方形の領域に分割する必要があります。 すべてのパーティションには、シンボルが1つだけ含まれている必要があります。 +シンボルは、正方形の中に含まれている必要があります。 |シンボルは、幅よりも大きい高さを有する矩形に含まれなければなりません。 -シンボルは、高さよりも大きな幅を有する長方形に含まれなければなりません。 4つのピースが同じコーナーを共有することはありません。(これが通常の畳の置き方です。) 以下は、解決策を含むパズルの例です。 仕事 与えられたタタミバリパズルを解きます。 入出力 入力は、指定されたタタミバリパズルを表す2Dグリッドです。各セルは、4つの文字のいずれかが含まれています+、-、|、、お好みのキャラクターは非手掛かり細胞を表現するために。テストケースでは、アスタリスク*が使用されています。 タタミバリパズルの有効なソリューションを明確に表すことができる適切な出力形式を選択できます。これには以下が含まれますが、これらに限定されません(不明な場合は、コメントで質問してください)。 4タプルのリスト。各タプルには、長方形の上部インデックス、左インデックス、幅と高さ(または同等の表現)が含まれます。 入力と同じ形状の数値グリッド。各数値は長方形を表します 座標セットのリスト。各セットには、長方形内のセルのすべての座標が含まれます パズルに複数のソリューションがある場合、有効なソリューションをいくつでも(1つ以上)出力できます。入力には少なくとも1つのソリューションがあることが保証されています。 テストケース Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …

3
420 <s> Blaze </ s> Golf It
これは非常に単純な課題ですが、(私は)楽しい課題です。 仕事 今のいずれかの月がある場合は4、その日は20、(午前と午後に)時間がある4と分がある20、または微小である4第二は20、このASCIIアートを印刷します: . .:. :|: .:|:. ::|:: :. ::|:: .: :|:. .::|::. .:|: ::|:. :::|::: .:|:; `::|:. :::|::: .:|::' ::|::. :::|::: .::|:; `::|::. :::|::: .::|::' :::|::. :::|::: .::|::; `:::|::. :::|::: .::|::;' `::. `:::|::. :::|::: .::|::;' .:;' `:::.. `;::|::. :::|::: .::|::: ::::; `:::::. ':|::. :::|::: .::|:' ,::::;' `:::::. ':|:::::|:::::|:' :::::;' …

1
月相を計算する
前書き tl; dr この課題では、特定の日付の月の位相を計算する必要があります。 このチャレンジは、ゲームの 心理社会的視聴覚実験「Superbrothers:Sword&Sworcery EP」に触発されました。ではS:S&S EP一部のイベントは、時間内の特定のポイントでのみ起こるよう月の段階では冒険の成果にとって重要です。 問題は、特定の日にどの月相が存在するかです。新月から第1四半期、満月から第3四半期までの各主要段階は、約7.38日です。月周期全体はおよそ29.52日です。これらの値に基づいて、さまざまな計算方法が存在します。1 入力 1970年1月1日から2116年12月31日までのグレゴリオ暦に基づく日付。 あなたは、次のいずれかの形式を選択することができますyyyy-mm-dd、dd.mm.yyyy、dd/mm/yyyy、yyyymmddまたはddmmyyyy。 出力 [0-7]このゼロインデックスの配列に基づいて、月相のインデックスを出力します。 ['New moon', 'Waxing crescent', 'First quarter', 'Waxing gibbous', 'Full moon', 'Waning gibbous', 'Third quarter', 'Waning crescent`] 必要条件 プログラムや関数を書くことができます。無名関数を使用する場合は、それを呼び出す方法の例を含めてください。 入力はSTDIN、コマンドライン引数から、関数パラメーターとして、または最も近い同等物から受け入れられます。 これはコードゴルフなので、バイト単位の最短の回答が優先されます。 ムーンフェーズを計算する組み込みライブラリまたは外部ライブラリは許可されていません。2 標準の抜け穴は許可されていません。 テスト 値は次のとおりです。 date | index of the phase | illumination | name 完全な月周期: 08.02.2016 …

2
また何日ですか?
私のウェブサイトでは、ユーザーは生年月日をスタイルで入力しますxx.xx.xx-ドットで区切られた3つの2桁の数字。残念ながら、使用する形式をユーザーに正確に伝えるのを忘れていました。私が知っているのは、1つのセクションが月、1つが日付、1つが年に使用されることだけです。年は間違いなく20世紀(1900-1999)であるため、形式31.05.75はを意味し31 May 1975ます。また、誰もがグレゴリオ暦またはユリウス暦のどちらかを使用していると想定しています。 ここで、データベースを調べて混乱を解消したいと思います。最初に、日付が最も曖昧な、つまり可能な日付の範囲が最も広いユーザーに対処します。 たとえば、日付08.27.53は27 August 1953グレゴリオ暦またはユリウス暦のどちらかを意味します。ユリウス暦の日付は13日後なので、範囲はちょうど13 daysです。 対照的に、表記01.05.12は多くの可能な日付を参照できます。最古は12 May 1901 (Gregorian)、最新は1 May 1912 (Julian)です。範囲は4020 daysです。 ルール 入力はの形式の文字列で、xx.xx.xx各フィールドは2桁でゼロが埋め込まれます。 出力は範囲内の日数です。 入力は常に有効な日付であると想定できます。 組み込みの日付またはカレンダー関数を使用することはできません。 最短コード(バイト単位)が優先されます。 テストケース 01.00.31 =&gt; 12 29.00.02=&gt; 0(唯一の可能性は29 February 1900 (Julian)) 04.30.00 =&gt; 13 06.12.15 =&gt; 3291
10 code-golf  date 

7
中国の干支を計算する
中国の旧正月が近づいていることを考えると、特定の日付の中国の黄道帯、元素、および太極拳を計算するための課題があります。 入力は日付でなければなりません: 1/31/2014 ここで使用される日付はUSスタイルですが、mm/dd/yyyyISO-8601スタイルの場合もあります。yyyy-mm-ddそのため、日付入力のスタイルは厳密ではありません。 出力は、日付に対応する要素とそれに対応するTaijituを含む、中国の黄道帯の動物の標示である必要があります。 Horse - Wood - Yang 黄道帯-要素-Taijituの関係を示す表は次のとおりです。中国の黄道帯-年 出力形式は厳密ではありませんが、動物、要素、およびTaijituコンポーネントを含み、何らかの方法で区切られる必要があります。 上記の日付の有効な出力の例には、次のものがあります。 (horse, wood, yang) ["Horse", "Wood", "Yang"] プログラムは、今日の日付を含め、少なくとも100年の範囲で有効な出力を返す必要があります。これは、少なくとも60年(干支)の2サイクルを考慮する必要があることを意味します。
10 code-golf  date 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.