1

私は次のdatetimepickerを使用しています。これは、私の理解では、拡張されたjquery-uidatepickerです。

http://trentrichardson.com/examples/timepicker/

私の問題は、ユーザーに午前と午後の時刻を表示したいのですが、mysqlデータベースに送信するときに時刻の形式が標準の「YY-mm-dd--hh:mm: ss"形式。

これは現在入力されている形式です

時間の形式

4

2 に答える 2

1

jQuery UIの日付ピッカーは、まさにこの目的のために、それらへの受け渡しaltFieldとオプションをサポートしています。altFormat使用しているプラ​​グインは、それを拡張することもサポートしています(ただし、紛らわしい方法です)。これが、必要なものを手に入れるための正しいレベルのオプションだと思います。ここでライブでお試しください

これらの要素を持つフォームを想定します。

<input type="text" id="datetime" />
<input type="hidden" id="datetime_to_server" name="formatted_date_time" />

次に、datetimepickerウィジェットを次のように設定できます。

$('#datetime').datetimepicker( 
  { altField  : '#datetime_to_server',  // selector of the hidden input field you want sent to the server
    altFormat : 'yy-m-d',
    altFieldTimeOnly : false,
    altTimeFormat : 'hh:mm:00' } );
于 2012-10-16T05:26:12.547 に答える
0

上記と同じ問題を抱えている人のために、上記のプラグインの開発者から、フォーマットの責任はミドルウェア(ruby、php、pythonなど)にあるべきであるという良いアドバイスを受けました。そこで、検索を行った後、次のgemを見つけて、Gemfileに追加しました。

gem 'validates_timeliness'

このプラグインは適時性の宝石に依存しており、箱から出して多くの異なるフォーマットを受け入れる多くの組み込み関数を備えています。

これをモデルに追加すると、完了です。

validates_datetime :date_paid_on, :allow_blank => true

カスタムパーサーが必要になる可能性があるシナリオに遭遇する可能性があります。その場合は、validates_timeliness.rb初期化子に以下を追加してください。

config.parser.add_formats(:datetime, 'yyyy-mm-dd hh:nn:ss tz')
于 2012-10-20T20:00:09.063 に答える