나는이 같은 날짜 문자열 변수가 있습니다날짜 문자열에서 날짜를 변경하려면 어떻게해야합니까?
@date = "2016-09-01"
를 그리고 난 이런 일에 또 다른 변수가 : 나는 @day
값을 사용하여 날짜의 일을 어떻게 바꾸
@day = 5
을 ? 당신은 그냥 일반 문자열로 작업 할 경우
@date = "2016-09-05"
나는이 같은 날짜 문자열 변수가 있습니다날짜 문자열에서 날짜를 변경하려면 어떻게해야합니까?
@date = "2016-09-01"
를 그리고 난 이런 일에 또 다른 변수가 : 나는 @day
값을 사용하여 날짜의 일을 어떻게 바꾸
@day = 5
을 ? 당신은 그냥 일반 문자열로 작업 할 경우
@date = "2016-09-05"
보십시오 :
나는이 결과를 필요 :
@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')
당신은 두 가지 옵션이 있습니다
,536,로캘 설정을 고려하면 날짜로 변환하는 것이 더 안전한 옵션 일 수 있습니다. (예 : DD 대 MM/DD/YYYY 형식/MM/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)