想知道以下示例的输出:
在解析01/03
时:它会被解析为Mar, 1st
(而不是Jan, 3rd
)吗?
答案 0 :(得分:0)
Ruby不依赖于语言环境。由于Ruby是一种服务器端语言,而不是像JavaScript这样的客户端语言,因此Ruby使用来自您的网络应用服务器的系统时钟-并使用此信息来计算时间。无论您将系统设置为哪个时区,Ruby应用程序都将使用它。
从字符串中解析日期时,DateTime
将根据输入的格式进行最佳猜测:
DateTime.parse('01/03')
#=> Thu, 03 Jan 2019 00:00:00 +0000
DateTime.parse('2019/01/03')
#=> Thu, 03 Jan 2019 00:00:00 +0000
DateTime.parse('01/03/2019')
#=> Fri, 01 Mar 2019 00:00:00 +0000
您还可以明确地 tell DateTime
使用strptime
来解析字符串:
date = '01-03-2019'
DateTime.strptime(date, '%m-%d-%Y')
#=> Thu, 03 Jan 2019 00:00:00 +0000
DateTime.strptime(date, '%d-%m-%Y')
#=> Fri, 01 Mar 2019 00:00:00 +0000