私はこのような日付の文字列変数があります。日付文字列の日付を変更するにはどうすればよいですか?
@date = "2016-09-01"
をそして、私はこのような日と別の変数を持っている:
@day = 5
にはどうすれば@day
値を使用して日付の日を変更することができます?
私はこの結果を必要とする:あなたは単なる文字列で作業したい場合は
@date = "2016-09-05"
私はこのような日付の文字列変数があります。日付文字列の日付を変更するにはどうすればよいですか?
@date = "2016-09-01"
をそして、私はこのような日と別の変数を持っている:
@day = 5
にはどうすれば@day
値を使用して日付の日を変更することができます?
私はこの結果を必要とする:あなたは単なる文字列で作業したい場合は
@date = "2016-09-05"
を試してみて、あなただけの、このような日付文字列から最後の2つの文字を置き換えることができます:
@date[-2..-1] = @day.to_s.rjust(2, "0")
はこの
@date = '2016-09-01'.to_date
@day = 5
DateTime.new(@date.year, @date.month, @day).to_date.strftime('%Y-%m-%d')
2つのオプションがあります。
ロケール設定が考慮されるため、おそらく日付に変換する方が安全です。 (例:DD/MM/YYYY形式対MM/DD/YYYY形式)
文字列として日コンポーネント再フォーマットを更新し、文字列に日付を変換する:
require 'date'
d = Date.parse(@date)
Date.new(d.year,d.month,@day).to_s
正規表現のソリューション:
@date.sub!(/(\d{4}-\d{2}-)\d{2}$/, '\1' + "%02d"% @day)