Ruby on Rails - как отобразить дату в формате, в котором я нуждаюсь? Преобразование из YYYY-MM-DD HH:MM:SS UTC к MM/DD/YYYY

В функции отсутствует (), массиву нужно () после переменной при передаче его куда-то еще, поэтому VBA знает его как массив

Private Sub whatever()
  Dim arr(10, 2) As String
  workArray arr
End Sub

Sub workArray(ByRef arr() As String)
  '- do stuff here
End Sub

Редактировать

Я немного осматриваюсь У cperson есть отличное руководство по передаче массивов в функции и обратно. В случае сомнений, проверьте cperson. У него есть масса полезных вещей, касающихся VBA

18
задан womp 13 May 2009 в 06:11
поделиться

5 ответов

Date.strptime(
  "2009-04-24 18:33:41 UTC",
  "%Y-%m-%d %H:%M:%S %Z"
).strftime("%m/%d/%Y")
# => "04/24/2009"

I think maybe you just got the capitalization on your format strings wrong.

27
ответ дан 30 November 2019 в 05:42
поделиться

Вы можете использовать функцию String # to_time (или Date # to_time) в ActiveSupport для преобразования строки в объект Time (или Date). Затем используйте strftime, как вы уже сделали.

3
ответ дан 30 November 2019 в 05:42
поделиться

Большое спасибо за Ответить. Моя проблема в том, что вывод, кажется, уже строки, и мне нужно преобразовать дату в строку в другой формат.

Когда я смотрю на дату, хранящуюся в базе данных (Oracle), это мм / дд / гг, но когда я ее отображаю, добавляются метка времени и часовой пояс.

Я попытался установить значение по умолчанию в Configuration \ environment.rb как ActiveSupport :: CoreExtensions :: Дата :: Конверсии :: DATE_FORMATS.merge! ( : default => '% d% b% Y' ) Но это также, похоже, не помогает.

В конце, если я получу строку для преобразования из формата Timezone в mm / dd / yyyy, этого достаточно.

0
ответ дан 30 November 2019 в 05:42
поделиться

Что я сделал, это добавил инициализатор с именем conversions.rb в config / initializer После этого добавьте строку, как показано ниже:

ActiveSupport::CoreExtensions::Time::Conversions::DATE_FORMATS.update(:<name> => '<formatting>')

С этого момента вы можете отобразить дату и время, используя ваш формат, с помощью:

dateVar.to_s(:<name>)

Здесь есть удобный список здесь токенов форматирования

1
ответ дан 30 November 2019 в 05:42
поделиться

Я написал действительно хороший драгоценный камень, который упрощает весь процесс, и делает форматирование даты DRY.

Посмотрите на это: http://github.com/platform45/easy_dates

3
ответ дан 30 November 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: