Ответ 1
@timestamp = Time.now.strftime("%Y%m%d%H%M%S")
Я пытаюсь создать временную метку для миграции рельсов, которую я копирую в свое приложение из двигателя как часть задачи rake.
Следующее работает отлично, но поскольку rails уже делает то же самое, я не знал, есть ли лучший способ сделать это?
Time.now.to_s.split(" ")[0..1].join(" ").gsub!(/\D/, "")
@timestamp = Time.now.strftime("%Y%m%d%H%M%S")
Time.now.utc.strftime("%Y%m%d%H%M%S")
Так что это может быть самый мета-ответ, который я когда-либо создавал на SO. Принятый ответ и ответ @mambo верны
Time.now.utc.strftime("%Y%m%d%H%M%S")
Но.
Если вы ищете (напрямую или в Google) "Как мне создать временную метку, например, имена файлов миграции Rails?" это не приведет вас сюда. Однако, если вы начнете вводить это как заголовок вашего вопроса, он, к счастью, покажет этот ответ
Таким образом, вместо того, чтобы задавать весьма дублирующий вопрос о том, как я могу создать дату и время для поколения, используя Ruby, я замусорил этот ответ ключевыми словами, которые, надеюсь, будут подобраны алгоритмами поиска, и отвечу на этот вопрос для будущих спрашивающих, таких как я.
Я сделал то же самое. Я считаю, что метка Rails - лучшая. У Rails есть драйвер для подключения базы данных, поэтому Rails будет обрабатывать формат времени для программиста. Программисту не нужно беспокоиться о формате времени, когда программист меняет базу данных.
Таким образом, я удаляю столбец timestamp I, сгенерированный с помощью remove_column, и использую timestamp, который предоставляет Rails. введите ссылку здесь