問題タブ [chronic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
964 参照

ruby-on-rails - 月/日の慢性的な解析

Chronic を使用して日付を解析していますが、文字列 '8/15' を 2015 年 8 月 16 日として解析しています。

Chronic に 8/15 を今年の 8 月 15 日として認識させる方法についてのアイデアはありますか?

テストコードは次のとおりです。

0 投票する
1 に答える
280 参照

javascript - ChronicでjQuerydatepickerを使用する

私は、jQuery datepickerと、RubyonRailsの慢性日付パーサーの長所をうまく組み合わせて機能させようとしています。

jQuery UIの日付ピッカーは、日付を視覚的に選択するのに役立ちます。ただし、ユーザーが選択した形式で日付を入力できるようにし、Chronicライブラリで入力を処理できるようにすることも必要です。

日付ピッカーを添付するテキスト入力フィールドがあり、日付ピッキング機能はうまく機能します。しかし、ユーザーが日付ピッカーを無視し、「最後の火曜日」と入力してEnterキーを押すだけの場合は、「最後の火曜日」を送信して、2011-10-18まで慢性的に解析します。ただし、テキストボックスの値が日付ピッカーの現在の日付に置き換えられています。

日付ピッカーが唯一の入力ソースではなく、ヘルパーとして機能できるようにするために、そこにあるべきオプションのようです。しかし、この機能を無効にする方法が見つかりません。

アップデート:

フォーカスではなく、ボタンを押すだけでカレンダーを表示することで改善されましたが、それでも、日付ピッカーを表示したとしても、テキストを入力してEnterキーを押すと、日付ピッカーの日付で上書きされます!

0 投票する
1 に答える
497 参照

ruby - Ruby Chronic を使用して日付のオフセットを計算する

私は慢性を使用して、次のように解析された日付オブジェクトを返します。

しかし、私が本当にやりたいのは、last_day_date のような日付オブジェクトに日付を付け、次のように 2 週間前の日付を返すことです。

これは、変数とハードコードの両方を使用して、他の試行と同様に nil を返します。

質問:

  1. 慢性を使用して既存の日付オブジェクトのオフセットを解析できますか? (例: この日付の +14 日前ではなく、14 日前)。

  2. 慢性を使用して、既存の日付のオフセットをまったく解析できますか?

  3. 解決策が慢性的ではない場合でも、これをどのように達成するのが最善ですか?

編集: Rails なしで Ruby 1.9.2 を実行しています。これらは厳格な Ruby スクリプトですが、仕事をするために必要な gem があれば喜んで含めます。

0 投票する
1 に答える
245 参照

ruby - 営業時間を解析するための RubyGem はありますか?

営業時間を解析して標準化するための ruby​​ gem はありますか? Chronicを見たことがありますが、この特定のユースケースでは機能しないと思います。

たとえば、またはをどのように解析しますMon-Sun 11am-10pmHours today: 5:30 AM – 10:00 PM? 各コンテキストに固有のルールを作成する必要がありますか? すでにこれを行うライブラリはありますか?

0 投票する
2 に答える
625 参照

ruby-on-rails - Rails慢性宝石が期待どおりに検証されない

日付「1985 年 3 月 20 日」を「誕生日」というテキスト フィールドに入力し、列タイプ「日付」のデータベース フィールドに挿入しようとしています。

と入力する10/20/1985と「誕生日が無効です」というエラーが表示されますが、入力する20/10/1985と問題なく動作します。

私が読んでいるすべてのドキュメントから、慢性は '10/20/1985' を mm/dd/yyyy として解析する必要がありますが、dd/mm/yyyy として解析しているようです。

日付を mm/dd/yyyy として解析するにはどうすればよいですか?

/models/user.rb

0 投票する
1 に答える
1490 参照

ruby - ruby Gem Chronic のデフォルトのタイムゾーンをレールなしで特定のタイムゾーンに設定する方法

質問

デフォルトでは、Chronic gem はシステムのタイムゾーンをデフォルトのタイムゾーンとして使用します。

彼らはここ ( https://github.com/mojombo/chronic#time-zones ) で、ActiveSupports Time.zone を使用してこれを変更できると述べています。しかし、私はRailsを使用しておらず、Sinatraを使用しており、タイムゾーンクラスを利用するためだけに積極的なサポートを含める必要はないようです.

他にどうすればこれを行うことができますか?

私がやろうとしていること。

システム レポート/ダッシュボードと統計に Chronic を使用しています。

サーバーは、UTC 時間に DB の created_at フィールドにタイムスタンプを保存しています。もちろん、レポートは PDT として実行します。

デフォルトのタイムゾーンを America/Los_Angeles に設定したいと考えています。となることによって:

どうすればこれを達成できますか?

0 投票する
1 に答える
128 参照

ruby-on-rails - 慢性 - 月を解析するときにデフォルトの年を設定する方法

ユーザーが日付を入力する入力フィールドを取得しました。現在、私は Chronic を使用しており、ユーザーはそれを気に入っています。

ユーザーがlast janChronic と strftime を使用して入力した場合、January 2013どちらが適切かを判断すると、次の場合に問題が発生します。

ユーザー入力は1月のような次の月です。私が行っている解析は、ユーザーが望んでいるものである2013年1月ではなく、2014年1月を返します。

現在の年をデフォルトとして設定する方法はありますか? したがって、ユーザーが 1 月を入力すると、2013 年 1 月に解析されますか?

ありがとう!

0 投票する
1 に答える
174 参照

ruby-on-rails - Chronic が 4 文字の月を誤って解析するのはなぜですか?

Chronic 0.9.1 では、解析Febr 2013時に結果が得られJune 2013ます。Feb 2013うまく解析されますが、Febr 2013そうではありません。

問題は、月の省略形が 4 文字の場合だと思います。

する必要がある:

  • 、またはFebr 2013_February 2013
  • 無効にしFebr 2013ます。

私が使用する日付を検証するには:

これはバグですか?回避策を実行できますか? または、これを検証する正しい方法はありますか?

0 投票する
5 に答える
1940 参照

ruby - 月の最後の日曜日を取得する

Chronic を使用して、特定の年の月の最後の日曜日を取得しています。喜んでn番目の日曜日を与えてくれるだろうが、最後の日曜日ではない.

これは機能しますが、必要なものではありません:

これは私が必要とするものですが、動作しません:

この明らかな制限を回避する方法はありますか?

更新:以下の2つの回答はどちらも優れているため、支持していますが、これはすでに「純粋なRuby」(行のほかに2行のコードrequire 'date')で実装していますが、管理者に実演しようとしていますRuby は、なくなりつつある (そしてこれを計算するために数十行のコードを持っていた) Java コードベースを置き換えるために使用する適切な言語であり、私はあるマネージャーに、Ruby の 1 行でおそらくそれを行うことができると言いました。読みやすく、維持しやすいでしょう。