20

Railsビューには、日時を表示する以下のコードがあります。

<%= link_to timeslot.opening, [@place, timeslot] %> 

この行の結果は次のとおりです。

2013-02-02 01:00:00 UTC 

これを変更して、次のように表示するにはどうすればよいですか。

2/2/13: X:00 PST
4

4 に答える 4

31

strftime()日付/日時にルビーズを使用します。

<%= link_to timeslot.opening.strftime("%Y %m %d"), [@place, timeslot] %>

フォーマットがどのように機能するかについては、ドキュメントをご覧ください。

于 2013-03-25T22:27:12.387 に答える
9

これにはヘルパーを使用する必要があります。

UTCからPSTに変換する場合は、このin_time_zone方法を使用できます。

def convert_time(datetime)
  time = Time.parse(datetime).in_time_zone("Pacific Time (US & Canada)")
  time.strftime("%-d/%-m/%y: %H:%M %Z")
end

<%= link_to convert_time(timeslot.opening), [@place, timeslot] %>
于 2013-03-25T22:34:35.603 に答える
2

要求した形式の場合:

<%= link_to timeslot.opening.strftime(%d/%m/%y: %H:%M:%S %Z), [@place, timeslot] %>

ここで利用可能なその他のオプション:

http://rorguide.blogspot.co.uk/2011/02/date-time-formats-in-ruby-on-rails.html

于 2013-03-25T22:30:52.657 に答える
0

例で探している正確な日付フォーマットを取得するには、次のstrftimeフォーマット文字列を使用します"%-d/%-m/%y: %k:00 PST"

ただし、それはあなたが望むものとは正確に一致しない場合があります。質問で、(a)時間フィールドで何をしたいのか(たとえば、常に時間に時間を表示したいですか?X:00)および(b)を明確にしてください。常にPST時間を報告したいですか、それとも実際のタイムゾーンを印刷したいですか、それともPSTに変換したいですか?

于 2013-03-25T22:34:55.240 に答える