首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby将DD/ MM /YYYY字符串转换为YYYY、MM、DD

Ruby将DD/ MM /YYYY字符串转换为YYYY、MM、DD
EN

Stack Overflow用户
提问于 2015-08-02 13:25:19
回答 3查看 4.8K关注 0票数 4

我收集一个用户输入为"DD/MM/YYYY“

其目的是将mktime作为csv YYYY,MM,DD。

代码语言:javascript
复制
puts "Please enter dob in dd/mm/yyyy format;"
inp = gets.chomp
inp = inp.gsub(" ","")
while inp.length != 10
  puts "Please use dd/mm/yyyy format"
  inp = gets.chomp
end
bday = inp.gsub("/",",")

ctime = Time.new
btime = Time.mktime(bday)
lsecs = ctime - btime
ysecs = Time.mktime(2001) - Time.mktime(2000)
rsecs = 1000000000 - lsecs
ryears = rsecs / ysecs
puts "You are currently #{lsecs} seconds old"
puts "You have #{ryears} years until you are a billion seconds old!!"

正如您所看到的,剩下的唯一任务是反向用户输入,因为找不到紧凑的解决方案。如果您看到了一种方法,请随时帮助缩短代码。

解决方案:(以秒数和年数四舍五入/分隔)

代码语言:javascript
复制
def reformat_date(str)
    str.split("/").reverse.join(",")
end

puts "Please enter dob in dd/mm/yyyy format;"
inp = gets.chomp
inp = inp.gsub(" ","")
while inp.length != 10
  puts "Please use dd/mm/yyyy format"
  inp = gets.chomp
  inp = inp.gsub(" ","")
end

ctime = Time.new
btime = Time.mktime(reformat_date(inp))
lsecs = ctime - btime
**lsecdel = lsecs.round(0).to_s.reverse.gsub(/...(?=.)/,'\&,').reverse**
ysecs = Time.mktime(2001) - Time.mktime(2000)
rsecs = 1000000000 - lsecs
ryears = rsecs / ysecs
puts "You are currently #{lsecdel} seconds old"
puts "You have #{ryears.round(2)} years until you are a billion seconds old!!"
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-02 13:27:46

关于?

代码语言:javascript
复制
def reformat_date(str)
  str.split('/').reverse.join(',')
end
票数 3
EN

Stack Overflow用户

发布于 2020-02-17 11:51:04

您可以获得任何所需格式的输入,并使用下面的格式转换为yyyy、mm、dd格式。

代码语言:javascript
复制
Date.parse("10/12/1995").strftime('%Y,%m,%d')

产出:1995年12,10

票数 1
EN

Stack Overflow用户

发布于 2017-03-24 19:40:31

代码语言:javascript
复制
require 'date'
now = Date.today

years_BACK_From_Now = (now - 365)

p years_BACK_From_Now.strftime("%m-%d-%Y").to_s

p years_BACK_From_Now.split('-').reverse.join('/')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31772343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档