(注:関連ものの、この課題は、の重複ではありませんこの1、それは自分の時間を自動的にうるう秒を決定するのではなくハードコーディングする必要があるため、との重複ではありませんこの1難易度のほとんどは、うるう秒スキューなしで時間を決定するから来ているので、 、ほとんどの場合APIがデフォルトで実行しないものです。そのため、ソリューションは、これらの課題のいずれかのソリューションとは異なる可能性があります。
2016年の終わりに近づいていますが、ほとんどの人が予想するよりも少し長くかかります。それでは、今年の追加秒数を祝う挑戦です。
現在の時刻をUTCで時間、分、秒として出力します。(たとえば、正午の正規の出力フォーマットには、12:00:00
とが含ま[12,0,0]
れます。ここでは、フォーマットはそれほど重要ではありません。)
ただし、ひねりがあります。プログラムはうるう秒を過去と未来の両方で適切に処理する必要があります。これは、プログラムがオンラインまたは自動的に更新/更新可能なソースからうるう秒のリストを取得する必要があることを意味します。必要に応じて、インターネットに接続してこれを取得できます。ただし、このチャレンジより前のURL(つまり、プログラムの一部を他の場所からダウンロードしない)にのみ接続でき、接続を使用して現在の時刻を特定することはできません(特に、アクセスしようとしてもプログラムは機能する必要があります)インターネットは最長24時間古いページを返します)。
現在のほとんどのオペレーティングシステムのデフォルトAPIは、他の方法では混乱する可能性のあるプログラムからそれらを隠すために、うるう秒あたりの時間をゆがめます。そのため、この課題の主な難点は、それを元に戻すメソッドまたはAPIを見つけ、UTCで変更されていない真の現在時刻を計算することです。
理論的には、プログラムが無限に高速なコンピューターで実行された場合、プログラムは完全に正確である必要があり、実行に意図的にゼロ以上の時間をかけてはなりません。(もちろん、実際には、プログラムは不完全なコンピューター上で実行されるため、おそらく瞬時には実行されません。これが結果を無効にすることを心配する必要はありませんが、プログラムの正確さをそれに依存してはなりません。 )
システムクロックがどのタイムゾーンに設定されているかに関係なく、プログラムは機能する必要があります。(ただし、使用されているタイムゾーンについてオペレーティングシステムまたは環境からの情報を要求する場合があり、応答が正確であると想定する場合があります。)
コードゴルフ、最短プログラムが勝ちます。幸運を!