0

RubyのTime.parseメソッドで処理できる限り、ユーザーは好きな形式で日時を入力できます。次に、JavaScriptでこれらの日時を比較する必要があります。JavaScript用のRubyのTime.parseメソッドに相当するものはありますか?

たとえば、「2012年10月13日午前8時15分」を解析できるものが必要です。datejsを試しましたが、「at」という単語を処理できませんでした。たった1回の関数呼び出ししか必要としないものが本当に好きです。

4

4 に答える 4

2

JavaScript 言語は、受け入れる日付形式に関してうるさい (そして実装はさまざま) であるため、ライブラリを使用せずに望みはありません。

Date.jsが最適です。ただし、ご指摘のとおり、ユーザーにとっては完全に理にかなっていても、ライブラリが予測できなかった形式が必ず存在します。

回避策として、維持する必要があるカスタム スクラビング関数で Date.js パーサーをラップすることをお勧めします。

// using Date.js
function parseDate(str) {
  var wordsToRemove = ['on', 'at'] // ...
    , regex = new RegExp('\\b(' + wordsToRemove.join('|') + ')\\b', 'g');
  return Date.parse(str.replace(regex, ''));
}
于 2012-12-19T18:53:26.480 に答える
0

Datejsには、JavaScriptで日付を処理するための非常に印象的なものがあります

于 2012-12-19T18:32:33.107 に答える
0

http://momentjs.com/をお試しください。これまでで最高の時間のライブラリです!

于 2012-12-19T18:34:41.707 に答える
0

これは少し遅いですが、うまくいけば、それでも役立つでしょう:

米国ロケールの日付文字列のみを解析している場合は、Sherlock.jsを確認してください。

唯一の制限は、年または過去の日付の指定をサポートしていないことです。'2012年10月13日午前8時15分'を解析できますが、常に楽しみにしているため、2013年10月13日午前8時15分にDateオブジェクトを返します。/\b20\d\d\b/必要に応じて、文字列から年を自分で解析するなど、正規表現を作成することもできます。

開示:私はSherlock.jsの作成者です

于 2013-01-11T19:43:46.117 に答える