Почему анализ даты зависит от разделителей? - PullRequest
3 голосов
/ 23 февраля 2009

Возьмите два следующих примера:

Date.parse("02/20/2009")
Date.parse("02-20-2009")

В первом примере предполагается, что порядок равен MM DD YYYY, но во втором примере возникает ошибка, поскольку (я предполагаю) он пытается проанализировать его как DD MM YYYY.

Почему?

Ответы [ 2 ]

10 голосов
/ 23 февраля 2009

"20.02.2009" - это представление даты только в en_US локаль. «02-20-2009», следовательно, не соответствует стандарту. Существует два популярных стандарта, которые используются почти везде, кроме США: ДД-ММ-ГГГГ или ISO 8601, что составляет ГГГГ-ММ-ДД .

http://en.wikipedia.org/wiki/File:Date.png

0 голосов
/ 23 февраля 2009

В разных локалях используются разные разделители в своих датах и ​​разные заказы на детали (год, месяц, день). Ruby передает строку даты ряду функций, которые постепенно пытаются ее проанализировать на основе разделителей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...