さまざまな形式で日付を出力するためのmini-JSライブラリである
datefを紹介します。
利用可能な機能について簡単に説明します。
- 1つだけのタスクを実行します。ユーザーが必要とするさまざまな形式で日付を表示します。
- nodejsおよびブラウザで動作します。 ブラウザーでは、 requirejs / amd-モジュールとして機能します。
- 埋め込みオブジェクトのプロトタイプに散らばらない。
- 厳格モードで書かれています。
- js-doc形式で豊富に注釈が付けられています。
- 外部依存関係はありません。
使用例:
datef('dd.MM.YY', new Date());
どのように配置されていますか?
コードの観点から見ると、私にとって最も興味深いことは環境へのコンプライアンスでした。つまり、nodejsとrequirejs / amdの両方のモジュールシステムを操作することでした。 幸いなことに、すべてが非常にシンプルであることが判明しました。
(function () { 'use strict'; var datef = { answer: 42 };
ライブラリの名前を自分のライブラリの名前に置き換えると、ミニユーティリティをさまざまな環境をサポートするモジュールに簡単かつ迅速に変換できます。
ライブラリ自体のコアに関しては、すべてが簡単で、おそらく退屈ですらあります。オブジェクトのキーとして機能するトークンのセットがあります。 これらのキーの値は、適切な日付が渡され、対応する値を返す関数です。 同じトークンに基づいて、フォーマット文字列を解析する正規表現が生成されます。
しかし、なぜですか?
ご存知のように、JavascriptではDate#toFormatなどのサポートはありません。
非標準のGekkoの日付#toLocaleFormatのみがあります。 ある美しい瞬間に、utils.date.humanDate、utils.date.humanTimeタイプなどの同じ原始的な自転車をプロジェクト間でドラッグしていることに気付き、経験豊富な開発者が作成した実証済みの柔軟な
自転車ソリューションを探し始めました。
残念なことに、非常に古いライブラリしかありませんでした-原則として、日付を扱うための巨大で複雑なソリューションであり、多くの場合、Date.prototype拡張機能で罪を犯し、私は独自のモダンで拡張可能なライブラリを作成することにしました。
機能Xはどこにありますか?
計画とは、ロケールの作成、テストのカバー、ライセンスの選択を意味します。 何かが足りない場合は、理由コードがgithubに投稿されます:)
何と互換性がないのですか?
strftimeまたは
PHP date()の機能の80%が20%の時間を要するため。 残りの20%の機能は、20%の人々が必要とし、80%の時間を必要とします。 そして、読み取り可能なトークンを使用して迅速なソリューションを作成したいと考えました。