Ruby中的DateTime.parse() - 它是否依赖于语言环境?

时间:2014-03-18 14:36:13

标签: ruby datetime datetime-format

想知道以下示例的输出: 在解析01/03时:它会被解析为Mar, 1st(而不是Jan, 3rd)吗?

1 个答案:

答案 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