Есть две строки на русском языке:
Сегодня, 12:00
1 сентября 2017
Подскажите, пожалуйста, как их преобразовать в Date
? Буду благодарен за кусок кода или полезную ссылку. Меня интересует преобразование именно этих двух строк. Я только недавно начал учить java. Знания Date
и SimpleDateFormat
еще до конца не устаканились :)
1.С использованием LocalDateTime
и поиска времени по шаблону:
String string = "Сегодня, 12:00";
LocalTime timePart = null;
LocalDate datePart = null;
String regex = "([01]?[0-9]|2[0-3]):[0-5][0-9]";
Matcher m = Pattern.compile(regex).matcher(string);
if (m.find()) timePart = LocalTime.parse(m.group(0));
if (string.contains("Сегодня")) datePart = LocalDate.now();
LocalDateTime date = LocalDateTime.of(datePart, timePart);
Date out = Date.from(date.atZone(ZoneId.systemDefault()).toInstant());
System.out.println(out); // Wed Sep 06 12:00:00 MSK 2017
Для Вчера
можно использовать datePart = LocalDate.now().minus(Period.ofDays(1));
2.
String string = "1 сентября 2017";
DateFormat format = new SimpleDateFormat("d MMMM yyyy", new Locale("ru"));
Date date = format.parse(string);
System.out.println(date); // Fri Sep 01 00:00:00 GMT+03:00 2017
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Что лучше использовать для back end-a на java, если он будет использоваться под web и mobile appИ на сколько хорошо для этого подходит java? Или может есть...
Здравствуйте! Я решил попробовать создать свое API приложения для торговой площадки InteractiveBrokersОднако подробной документации по этому поводу...
Вы неправильно использовали конструктор для EnumКроме того, обычно Enum именуется существительным в единцественном числе
Во многих книгах по java (например, "Философия Java") пишут, что при написании конструкции вида String s = "some string" на самом деле происходит создание...