java как к дате прибавить день

Как добавить один день к дате?

Я хочу добавить один день к определенной дате. Как я могу это сделать?

Теперь я хочу добавить один день к этой дате.

18 ответов

Учитывая Date dt у вас есть несколько возможностей:

Решение 1: Вы можете использовать Calendar класс для этого:

Решение 2: Вы должны серьезно рассмотреть вопрос об использовании библиотеки Joda-Time из-за различных недостатков Date учебный класс. С Joda-Time вы можете сделать следующее:

Решение 3: С Java 8 вы также можете использовать новый API JSR 310 (который вдохновлен Joda-Time):

Date имеет конструктор, использующий миллисекунды со времен UNIX. метод getTime()- дает вам это значение. Таким образом, добавление миллисекунд в день делает свое дело. Если вы хотите регулярно выполнять такие манипуляции, я рекомендую определить константы для значений.

Важный совет: это не правильно во всех случаях. Прочитайте ПРЕДУПРЕЖДЕНИЕ комментарий ниже.

Как уже упоминалось в ответе Top, начиная с Java 8 можно сделать:

но иногда это может привести к DateTimeException как это:

Можно избежать этого исключения, просто передав часовой пояс:

Я нашел простой способ добавить произвольное время к объекту Date

ТЛ; др

java.time

Лучше всего избегать java.util.Date класс в целом. Но если вы должны это сделать, вы можете выполнить преобразование между проблемными старыми классами даты и времени и современными классами java.time. Посмотрите на новые методы, добавленные к старым классам.

Instant

Instant класс, близок к тому, чтобы быть эквивалентным Date оба были моментом времени. Instant разрешается до наносекунд, в то время как Date это миллисекунды.

Вы можете добавить день к этому, но имейте это в виду в UTC. Таким образом, вы не будете учитывать аномалии, такие как переход на летнее время. Укажите единицу времени с помощью ChronoUnit учебный класс.

ZonedDateTime

Вы можете хотеть первый момент этого следующего дня. Не думайте, что день начинается в 00:00:00. Аномалии, такие как переход на летнее время (DST), означают, что день может начаться в другое время, например, 01:00:00. Пусть java.time определит первый момент дня этой даты в этой зоне.

О java.time

Проект Joda-Time, находящийся сейчас в режиме обслуживания, рекомендует перейти на классы java.time.

Чтобы узнать больше, смотрите Oracle Tutorial. И поиск переполнения стека для многих примеров и объяснений. Спецификация JSR 310.

Источник

Как я могу увеличить дату на один день в Java?

Как я могу увеличить эту дату на один день?

Нечто подобное должно сработать:

Похоже, что Java значительно отстает от восьми шаров по сравнению с C #. Этот служебный метод показывает способ сделать в Java SE 6 с помощью метода Calendar.add (предположительно, единственный простой способ).

Чтобы добавить один день, в соответствии с заданным вопросом, назовите его следующим образом:

java.time

В Java 8 и более поздних версиях пакет java.time делает это в значительной степени автоматически. ( Учебник )

Предполагая String ввод и вывод:

addDays (Date date, int amount): Добавляет количество дней к дате, возвращая новый объект.

Обратите внимание, что он возвращает новый объект Date и не вносит изменений в сам предыдущий.

Создайте объект Calendar и используйте метод add (Calendar.DATE, 1);

Обратите внимание, что эта строка добавляет 24 часа:

но эта строка добавляет один день

В дни с переходом на летнее время (25 или 23 часа) вы получите разные результаты!

В Java 8 добавлен новый API для работы с датами и временем.

С Java 8 вы можете использовать следующие строки кода:

Вы можете использовать Simple java.util lib

Это даст завтрашнюю дату. c.add(. ) параметры могут быть изменены с 1 на другое число для соответствующего приращения.

Это берет количество миллисекунд с начала эпохи из oldDate и добавляет миллисекунды за 1 день, а затем использует открытый конструктор Date () для создания даты с использованием нового значения. Этот метод позволяет добавить 1 день или любое количество часов / минут, а не только целые дни.

Начиная с Java 1.5 TimeUnit.DAYS.toMillis (1) выглядит более понятным для меня.

В Java 8 простой способ сделать это:

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

Источник

Как добавить один день к дате?

Я хочу добавить один день к определенной дате. Как я могу это сделать?

Теперь я хочу добавить один день к этой дате.

ОТВЕТЫ

Ответ 1

Решение 1: Для этого можно использовать класс Calendar :

Решение 3: С помощью Java 8 вы также можете использовать новый API JSR 310 (который вдохновлен Joda-Time):

Ответ 2

Дата имеет конструктор, использующий миллисекунды с UNIX-эпохи. метод getTime() дает вам это значение. Таким образом, добавление миллисекунд в течение дня, делает трюк. Если вы хотите регулярно выполнять такие манипуляции, я рекомендую определить константы для значений.

Важный намек: во всех случаях это неверно. Прочтите комментарий WARNING ниже.

Ответ 3

Я бы осторожно использовал

Если вы используете Calendar Timezone с дневной экономией, в меняющийся день с лета на зимнее время он не перейдет на следующий день.

Ответ 4

Это приведет к увеличению любой даты одним нажатием

Ответ 5

Обновление: Библиотека Joda-Time теперь находится в режиме обслуживания. Команда советует перейти на классы java.time.

java.time

Joda времени

Joda-Time 2.3 библиотека значительно облегчает такую ​​работу с датой. Класс java.util.Date в комплекте с Java, как известно, хлопотно, и его следует избегать.

Ответ 6

Как упоминалось в верхнем ответе, поскольку java 8 можно сделать:

Date dt = new Date(); LocalDateTime.from(dt.toInstant()).plusDays(1);

но иногда это может привести к DateTimeException следующим образом:

(java.time.DateTimeException: Unable to obtain LocalDateTime from TemporalAccessor: 2014-11-29T03:20:10.800Z of type java.time.Instant)

Это исключение можно избежать, просто пропустив часовой пояс:

Ответ 7

используйте объект DateTime obj.Add, чтобы добавить, что вы хотите, чтобы день и т.д. Надеюсь, что это работает:)

Ответ 8

Чтобы сделать его более тонким, чем java, основным принципом будет преобразование в некоторый линейный формат даты, юлианские дни, измененные юлианские дни, секунды с какой-то эпохи и т.д., добавление вашего дня и обратный возврат.

Причиной этого является то, что вы производите ферму из «проблемы с прыжком в день, прыгающей секунды и т.д.», чтобы кто-то, кто с некоторой удачей, не сбросил эту проблему.

Я предупреждаю вас, что правильное выполнение этих процедур преобразования может быть затруднено. Существует огромное количество различных способов, которыми люди теряют время, самым последним примером высокого профиля был MS Zune. Не тряхните слишком много удовольствия от MS, хотя это легко испортить. Это не помогает в том, что существует несколько разных временных форматов, скажем, TAI против TT.

Ответ 9

Я предпочитаю joda для арифметики даты и времени, потому что он намного читабельнее:

Ответ 10

В очень особенном случае Если вы попросили сделать свой собственный класс даты, возможно, от вашего профессора по компьютерному программированию; Этот метод будет работать очень хорошо.

Ответ 11

лучшее, что можно использовать:

Аналогично, вы можете добавить MONTHS, DAYS, MINUTES и т.д.

Ответ 12

вы можете использовать этот метод после import org.apache.commons.lang.time.DateUtils:

Ответ 13

Версия Java 1.8 имеет приятное обновление API данных времени.

Вывод:

Для получения дополнительной информации см. документацию по Java для этих классов:

Ответ 14

вы хотите, чтобы после дня найти этот код, попробуйте.

Ответ 15

Я нашел простой способ добавить произвольное время к объекту Date

Ответ 16

Ответ 17

Я покажу вам, как мы можем это сделать в Java 8. Вот вы:

Источник

Дата и время в Java

Дата, время и их форматы в Java

Получить в Java текущую дату можно так:

Получим (дата Java, время Java):

Форматирование даты и времени в Java см. ниже.

Как задать другую, не текущую, дату в Java? Получим вчерашнюю дату:

Результат (дата Java, время Java):

Получить дату в Java с помощью GregorianCalendar:

Класс DateFormat

Форматируем дату и время в Java с помощью класса DateFormat. Это предустановленное форматирование для данной локали.

Как создать русскую локаль?

Форматируем Время в Java с помощью предустановленного формата

Форматируем дату и время с помощью предустановленного формата:

Класс SimpleDateFormat

Можно самому определить порядок форматирования с помощью класса SimpleDateFormat.

Пример (месяц прописью):

Форматируем дату и время:

Если в формате часов поставить маленькие буквы hh, т.е. hh:mm:ss, то получим:

здесь 08 вместо 20 часов.

Класс DateFormatSymbols

Чтобы названия месяцев были в родительном падеже используем класс DateFormatSymbols:

Класс MaskFormatter

Самое важное, что нужно знать про класс MaskFormatter, так это то, что форматирует он только СТРОКИ. Если надо форматировать дату, от даты переходим к строке, а уж строку форматируем MaskFormatter-ом. Пример:

то отсутствующие символы заменяются знаком подчёркивания.

Класс GregorianCalendar

Полезно знать класс GregorianCalendar при работе с датами. Класс GregorianCalendar расширяет класс Calendar в Java.

Создать объект GregorianCalendar для 27.04.2008 14:30:59:

Установить дату и время в объект GregorianCalendar:

Соответствующими методами get получаем элементы даты:

Прибавить/вычесть к дате дни можно методом add:

Другая возможность изменять дату — метод roll:

Проверим високосный ли год методом isLeapYear:

Источник

Прибавить к дате день / месяц / год | JavaScript

Сложение дат

Чтобы прибавить к дате нужное количество дней

Чтобы прибавить к дате нужное количество месяцев

Чтобы прибавить к дате нужное количество лет

Сложение лет, месяцев, дней

Август

Пн

Вт

Ср

Чт

Пт

Сб

Вс

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

2627

28

29

30

31

Сентябрь

Пн

Вт

Ср

Чт

Пт

Сб

Вс

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

До 1 октября 33 дня или 1 месяц 3 дня (в сентябре 30 дней). Но скрипт считает что спустя 1 месяц 2 дня также наступит 1 октября.

Поскольку вначале прибавляется месяц, а затем число, так делать нежелательно:

+ лет + месяцев + дней =

Аналогично с

часы

getHours()

setHours()

минуты

getMinutes()

setMinutes()

секунды

getSeconds()

setSeconds()

миллисекунды

getMilliseconds()

setMilliseconds()

Аналогично с вычитанием

.toJSON и 00:00:00

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *