Как перевести строку в дату java
Перейти к содержимому

Как перевести строку в дату java

  • автор:

Перевод с строки в дату

Author24 — интернет-сервис помощи студентам

Перевод строки в дату
Может все таки есть какая-нибудь функция перевода строки типа "21.01.2010 08:21" в дату? Я сделала.

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

Перевод строки в дату
Вопрос: есть строка "2013-06-28 19:00:00.000". Как её привести к типу дата? Нужно для последующего.

Перевод строки в дату
Господа, собственно проблема. Дано задание — при вводе строки типа YYYY-MM-DD программа должна.

Эксперт Java

3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
какое отношение синусы имеют к датам?
Регистрация: 05.10.2019
Сообщений: 6
Ну здесь нужно те данные что выйдут, переобразовать в дату

xoraxax, новый чемпион?

Меню пользователя @ iSmokeJC

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604

Перевод строки в дату
Зaпутaлcя в кoнец . Кaк из cтрoки перевеcти в дaту . String 20050226 —>> Date 02/26/2005

Универсальный перевод строки в дату
Здравствуйте. Есть вот такая строка: "20.02.2020" И если попытаться превратить её в дату с.

Заменить в строке все пробелы на перевод строки, а перевод строки изменить на два перевода
Меня интересует следующий вопрос: как заменить в моем стринге все пробелы на переходы на новую.

Разбиение строки на части, перевод строки в число и перевод числа
Есть задание: 1. Необходимо реализовать консольное приложение, позволяющее манипулировать строкой.

Преобразовать дату; перевод с C++
Я студент 1ого курса, получил задание преобразовать дату но нужно на языке с, может кто окажет.

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

Или воспользуйтесь поиском по форуму:

Как преобразовать string в int java

Чтобы преобразовать строку в число, можно использовать статический метод parseInt() из класса Integer .

Integer.parseInt("10"); // 10 

Первый символ строки может быть знаком — , в этом случае число получится отрицательное

Integer.parseInt("-5"); // -5 

Если строку не удается привести к числу, будет выброшено исключение NumberFormatException

Integer.parseInt("34y"); // NumberFormatException 

Преобразование строки в дату в Java

В этом руководстве мы рассмотрим несколько способов преобразования объектов String в объекты Date . Мы начнем с нового API даты и времени , java.time , который был представлен в Java 8, а затем рассмотрим старый тип данных java.util.Date , который также используется для представления дат.

В заключение мы рассмотрим некоторые внешние библиотеки для преобразования с использованием Joda-Time и класса Apache Commons Lang DateUtils .

2. Преобразование строки в LocalDate или LocalDateTime ​

LocalDate и LocalDateTime — это неизменяемые объекты даты и времени, которые представляют дату, а также дату и время соответственно. По умолчанию даты Java имеют формат ISO-8601, поэтому, если у нас есть какая-либо строка, представляющая дату и время в этом формате, мы можем напрямую использовать API parse() этих классов .

Вот немного больше подробностей об этом новом API.

2.1. Использование API синтаксического анализа ​

API Date-Time предоставляет методы parse() для синтаксического анализа строки , содержащей информацию о дате и времени. Чтобы преобразовать объекты String в объекты LocalDate и LocalDateTime , String должен представлять допустимую дату или время в соответствии с ISO_LOCAL_DATE или ISO_LOCAL_DATE_TIME .

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

В нашем первом примере давайте преобразуем String в java.time . Местная Дата :

 LocalDate date = LocalDate.parse("2018-05-05"); 

Подход, аналогичный описанному выше, можно использовать для преобразования String в java.time . Местная дата и время :

 LocalDateTime dateTime = LocalDateTime.parse("2018-05-05T11:50:55"); 

Важно отметить, что объекты LocalDate и LocalDateTime не зависят от часового пояса. Однако, когда нам нужно иметь дело с датами и временем, специфичными для часового пояса, мы можем использовать метод « синтаксического анализа ZonedDateTime напрямую, чтобы получить дату и время для конкретного часового пояса:

 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");   ZonedDateTime zonedDateTime = ZonedDateTime.parse("2015-05-05 10:15:30 Europe/Paris", formatter); 

Теперь давайте посмотрим, как мы конвертируем строки в произвольном формате.

2.2. Использование Parse API с пользовательским средством форматирования​

Преобразование строки с произвольным форматом даты в объект Date — широко распространенная операция в Java.

Для этой цели мы будем использовать класс DateTimeFormatter , который предоставляет множество предопределенных средств форматирования и позволяет нам определить средство форматирования.

Начнем с примера использования одного из предопределенных средств форматирования DateTimeFormatter :

 String dateInString = "19590709";   LocalDate date = LocalDate.parse(dateInString, DateTimeFormatter.BASIC_ISO_DATE); 

В следующем примере давайте создадим средство форматирования, которое применяет формат «EEE, MMM d yyyy». Этот формат определяет три символа для полного названия дня недели, одну цифру для представления дня месяца, три символа для представления месяца и четыре цифры для представления года.

Этот модуль форматирования распознает такие строки, как « пт, 3 января 2003 г.» или «ср, 23 марта 1994 г. »:

 String dateInString = "Mon, 05 May 1980";   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("EEE, d MMM yyyy", Locale.ENGLISH);   LocalDate dateTime = LocalDate.parse(dateInString, formatter); 

2.3. Общие шаблоны даты и времени​

Давайте рассмотрим некоторые распространенные шаблоны даты и времени:

  • г – Год (1996; 96)
  • М – месяц в году (июль; июль; 07)
  • г – число в месяце (1-31)
  • E – название дня недели (пятница, воскресенье)
  • а маркер AM/PM (AM, PM)
  • Ч – час в сутках (0-23)
  • ч – час в AM/PM (1-12)
  • м – Минуты в часе (0-60)
  • с – секунда в минуту (0-60)

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

Если нам нужно преобразовать даты java.time в более старый объект java.util.Date , прочитайте эту статью для получения более подробной информации.

3. Преобразование строки в java.util.Date ​

До Java 8 механизм даты и времени в Java предоставлялся старыми API-интерфейсами классов java.util.Date , java.util.Calendar и java.util.TimeZone , с которыми нам иногда все еще нужно работать.

Давайте посмотрим, как преобразовать String в объект java.util.Date :

 SimpleDateFormat formatter = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);    String dateInString = "7-Jun-2013";   Date date = formatter.parse(dateInString); 

В приведенном выше примере нам сначала нужно создать объект SimpleDateFormat , передав шаблон, описывающий формат даты и времени.

Далее нам нужно вызвать метод parse() , передав строку даты . Если переданный аргумент String не соответствует формату шаблона, будет выдано исключение ParseException .

3.1. Добавление информации о часовом поясе в java.util.Date ​

Важно отметить, что java.util.Date не имеет понятия часового пояса и представляет только количество секунд, прошедших с момента эпохи Unix — 1970-01-01T00:00:00Z.

Однако, когда мы печатаем объект Date напрямую, он всегда будет печататься с системным часовым поясом Java по умолчанию.

В этом последнем примере мы рассмотрим, как отформатировать дату при добавлении информации о часовом поясе:

 SimpleDateFormat formatter = new SimpleDateFormat("dd-M-yyyy hh:mm:ss a", Locale.ENGLISH);  formatter.setTimeZone(TimeZone.getTimeZone("America/New_York"));    String dateInString = "22-01-2015 10:15:55 AM";   Date date = formatter.parse(dateInString);   String formattedDateString = formatter.format(date); 

Мы также можем изменить часовой пояс JVM программно, но это не рекомендуется:

 TimeZone.setDefault(TimeZone.getTimeZone("GMT")); 

4. Внешние библиотеки​

Теперь, когда мы хорошо понимаем, как преобразовывать объекты String в объекты Date , используя новый и старый API, предлагаемые ядром Java, давайте взглянем на некоторые внешние библиотеки.

4.1. Библиотека Джода-Время​

Альтернативой базовой библиотеке Java Date and Time является Joda-Time . Хотя теперь авторы рекомендуют пользователям перейти на java.time (JSR-310), если это невозможно, библиотека Joda-Time предоставляет отличную альтернативу для работы с Date и Time . Эта библиотека предоставляет почти все возможности, поддерживаемые в проекте Java 8 Date Time .

Артефакт можно найти на Maven Central :

 dependency>   groupId>joda-timegroupId>   artifactId>joda-timeartifactId>   version>2.10version>   dependency> 

Вот краткий пример работы со стандартным DateTime :

 DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");    String dateInString = "07/06/2013 10:11:59";   DateTime dateTime = DateTime.parse(dateInString, formatter); 

Давайте также посмотрим пример явной установки часового пояса:

 DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss");    String dateInString = "07/06/2013 10:11:59";   DateTime dateTime = DateTime.parse(dateInString, formatter);   DateTime dateTimeWithZone = dateTime.withZone(DateTimeZone.forID("Asia/Kolkata")); 

4.2. Язык Apache Commons — DateUtils​

Класс DateUtils предоставляет множество полезных утилит, упрощающих работу с устаревшими объектами Calendar и Date .

Артефакт commons-lang3 доступен в Maven Central :

 dependency>   groupId>org.apache.commonsgroupId>   artifactId>commons-lang3artifactId>   version>3.12.0version>   dependency> 

Давайте преобразуем строку даты в java.util.Date , используя массив шаблонов даты:

 String dateInString = "07/06-2013";   Date date = DateUtils.parseDate(dateInString,   new String[]  "yyyy-MM-dd HH:mm:ss", "dd/MM-yyyy" >); 

5. Вывод​

В этой статье мы проиллюстрировали несколько способов преобразования строк в различные типы объектов Date (со временем и без него) как в простой Java, так и с использованием внешних библиотек.

Полный исходный код статьи доступен на GitHub .

  • 1. Обзор
  • 2. Преобразование строки в LocalDate или LocalDateTime
    • 2.1. Использование API синтаксического анализа
    • 2.2. Использование Parse API с пользовательским средством форматирования
    • 2.3. Общие шаблоны даты и времени
    • 3.1. Добавление информации о часовом поясе в java.util.Date
    • 4.1. Библиотека Джода-Время
    • 4.2. Язык Apache Commons — DateUtils

    Java: преобразование строки в число и наоборот

    В некоторых случаях при программировании на Java нам нужно выполнить преобразование строки в число или числа в строку. Это бывает, если мы имеем величину определённого типа и желаем присвоить эту величину переменной другого типа. Преобразования типов в Java осуществляются разными способами, давайте рассмотрим наиболее популярные из них.

    Как преобразовать строку в число в Java?

    Речь идёт о преобразовании String to Number. Обратите внимание, что в наших примерах, с которыми будем работать, задействована конструкция try-catch. Это нужно нам для обработки ошибки в том случае, когда строка содержит другие символы, кроме чисел либо число, которое выходит за рамки диапазона предельно допустимых значений указанного типа. К примеру, строку «onlyotus» нельзя перевести в тип int либо в другой числовой тип, т. к. при компиляции мы получим ошибку. Для этого нам и нужна конструкция try-catch.

    Преобразуем строку в число Java: String to byte

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

    C помощью конструктора:

    try < Byte b1 = new Byte("10"); System.out.println(b1); >catch (NumberFormatException e)

    С помощью метода valueOf класса Byte:

    String str1 = «141»; try < Byte b2 = Byte.valueOf(str1); System.out.println(b2); >catch (NumberFormatException e)

    С помощью метода parseByte класса Byte:

    byte b = 0; String str2 = «108»; try < b = Byte.parseByte(str2); System.out.println(b); >catch (NumberFormatException e)

    А теперь давайте посмотрим, как выглядит перевод строки в массив байтов и обратно в Java:

    String str3 = «20150»; byte[] b3 = str3.getBytes(); System.out.println(b3); //массив байтов переводится обратно в строку try < String s = new String(b3, "cp1251"); System.out.println(s); >catch (UnsupportedEncodingException e)

    Преобразуем строку в число в Java: String to int

    Здесь, в принципе, всё почти то же самое:

    Используем конструктор:

    try < Integer i1 = new Integer("10948"); System.out.println(i1); >catch (NumberFormatException e)

    Используем метод valueOf класса Integer:

    String str1 = «1261»; try < Integer i2 = Integer.valueOf(str1); System.out.println(i2); >catch (NumberFormatException e)

    Применяем метод parseInt:

    int i3 = 0; String str2 = «203955»; try < i3 = Integer.parseInt(str2); System.out.println(i3); >catch (NumberFormatException e)

    Аналогично действуем и для других примитивных числовых типов данных в Java: short, long, float, double, меняя соответствующим образом названия классов и методов.

    Как преобразовать число в строку в Java?

    Теперь поговорим о преобразовании числа в строку (Number to String). Рассмотрим несколько вариантов:

    1. Преобразование int to String в Java:
     
    int i = 53; String str = Integer.toString(i); System.out.println(str);
    2. Преобразование double to String в Java:
     
    double i = 31.6e10; String str = Double.toString(i); System.out.println(str);
    3. Преобразуем long to String в Java:
     
    long i = 3422222; String str = Long.toString(i); System.out.println(str);
    4. Преобразуем float to String в Java:
     
    float i = 3.98f; String str = Float.toString(i); System.out.println(str);

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

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