gpt4 book ai didi

ruby - 在 Ruby 中将字符串转换为日期

转载 作者:数据小太阳 更新时间:2023-10-29 08:33:20 24 4
gpt4 key购买 nike

我正在尝试使用 Date.strptimedd/mm/yyyy 格式的字符串 26/03/2012 解析为 Ruby 的日期>,如下:

#!/usr/bin/ruby
require 'date'
puts 'Ruby Version: ' + RUBY_VERSION
date_str = '26/03/2012'

date = Date.strptime(date_str, "%d/%m/%y")
puts 'Parsed Date: ' + date.to_s

输出是:

Ruby Version: 1.8.7
Parsed Date: 2020-03-26

年份部分变成了2020,而不是2012!

最佳答案

应该是%Y大写,而不是%y:

date = Date.strptime(date_str, "%d/%m/%Y")
puts 'Parsed Date: ' + date.to_s
# Parsed Date: 2012-03-26

From the docs:

 Date (Year, Month, Day):
%Y - Year with century (can be negative, 4 digits at least)
-0001, 0000, 1995, 2009, 14292, etc.
%C - year / 100 (round down. 20 in 2009)
%y - year % 100 (00..99)

由于 %y 只需要两位数,因此它采用前两位 20 并假定它是 2020 的两位数表示,因为 2020 % 100 = 20

关于ruby - 在 Ruby 中将字符串转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12198749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com