Загрузка изображения в направляющих

Первый момент дня

Ответ от ngeek является правильным, но не дает времени для первого момента дня. Чтобы настроить время, добавьте вызов к withTimeAtStartOfDay .

// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.

org.joda.time.DateTime startOfThisMonth = new org.joda.time.DateTime().dayOfMonth().withMinimumValue().withTimeAtStartOfDay();
org.joda.time.DateTime startofNextMonth = startOfThisMonth.plusMonths( 1 ).dayOfMonth().withMinimumValue().withTimeAtStartOfDay();

System.out.println( "startOfThisMonth: " + startOfThisMonth );
System.out.println( "startofNextMonth: " + startofNextMonth );

При запуске в Сиэтле, США…

startOfThisMonth: 2013-11-01T00:00:00.000-07:00
startofNextMonth: 2013-12-01T00:00:00.000-08:00

Обратите внимание на разницу в этих двух строках вывода консоли: -7 против -8 из-за перехода на летнее время . 1119]


Как правило, всегда следует указывать часовой пояс, а не полагаться на значение по умолчанию. Опущено здесь для простоты. Нужно добавить такую ​​строку и передать объект часового пояса конструкторам, использованным в примере выше.

// Time Zone list: http://joda-time.sourceforge.net/timezones.html  (Possibly out-dated, read note on that page)
// UTC time zone (no offset) has a constant, so no need to construct: org.joda.time.DateTimeZone.UTC
org.joda.time.DateTimeZone kolkataTimeZone = org.joda.time.DateTimeZone.forID( "Asia/Kolkata" );

java.time

Вышеприведенное верно, но устарело. Библиотека Joda-Time теперь заменена фреймворком java.time, встроенным в Java 8 и более поздние версии.

LocalDate представляет значение только для даты без времени суток и без часового пояса. Часовой пояс имеет решающее значение в определении даты. В любой данный момент дата варьируется в зависимости от зоны вокруг земного шара.

ZoneId zoneId = ZoneId.of( "America/Montreal" );
LocalDate today = LocalDate.now( zoneId );

Используйте один из TemporalAdjusters , чтобы получить первый месяц.

LocalDate firstOfMonth = today.with( TemporalAdjusters.firstDayOfMonth() );

LocalDate может генерировать ZonedDateTime, который представляет первый момент дня.

ZonedDateTime firstMomentOfCurrentMonth = firstOfMonth.atStartOfDay( zoneId );
9
задан Nave 9 June 2009 в 09:27
поделиться

5 ответов

Nav,

Попробуйте плагин скрепки, вы можете прочитать об этом здесь http://www.oughttbot.com/projects/paperclip

16
ответ дан 4 December 2019 в 06:30
поделиться

Предлагаем проверить Railscast для скрепки .

8
ответ дан 4 December 2019 в 06:30
поделиться

Один из вариантов - attachment_fu . Он позволяет сохранить загруженный файл в файловую систему, базу данных или Amazon S3. Он также позволяет вам выбрать, какой процессор изображений используется, например RMagick или Minimagick.

Ссылка предоставляет лучший код, чем я мог бы здесь.

0
ответ дан 4 December 2019 в 06:30
поделиться

ImageMagick тоже неплохой

2
ответ дан 4 December 2019 в 06:30
поделиться

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

http://patshaughnessy.net/paperclip-database-storage

ссылка содержит примеры представления и контроллера, которые вы ищете

1
ответ дан 4 December 2019 в 06:30
поделиться
Другие вопросы по тегам:

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