1

Time.parse(string).strftime("%m%d%Y")さまざまな文字列の日付を取得するため に使用する場所がいくつかあります。

場合によっては、これらの文字列が空になることがあります''。空の文字列を解析するとTime.parse、現在の日付が表示されます。

これが起こらないようにして、戻る''か何もしない方法が必要です。私の問題の解決策はありますか?

require 'Time'
s = ''
Time.parse(s).strftime("%m%d%Y")
=> "04232013"

Ruby 1.8.7 (2010-12-23 パッチレベル 330) [i386-mingw32] を使用しています。

4

3 に答える 3

6

おそらく、推奨される方法は

Time.parse(s).strftime("%m%d%Y") unless s.empty?

条件が満たされない場合、これは と評価されnilます。

于 2013-04-23T18:36:18.343 に答える
1
require "time"
s = '12/12/2013 05:23:11'
p s.empty? ? '' : Time.parse(s).strftime("%m%d%Y") #=> "12122013"
s = ''
p s.empty? ? '' : Time.parse(s).strftime("%m%d%Y") #=> ""
于 2013-04-23T18:15:34.633 に答える