5 / 5 / 3
Регистрация: 29.01.2015
Сообщений: 189
1

Дата: В двух строках вместо дат идёт строка null, как вместо Date вернуть "-" в виде String?

29.07.2018, 15:23. Показов 822. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
На входе есть строки с датами разных форматов. Я обрабатываю их так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public static Date extractTimestampInput(String strDate){
        final List<String> dateFormats = Arrays.asList("yyyy-MM-dd HH:mm:ss.SSS", "yyyy-MM-dd","dd-MM-yyyy");
 
        for(String format: dateFormats){
            SimpleDateFormat sdf = new SimpleDateFormat(format);
            try{
                return sdf.parse(strDate);
            } catch (ParseException e) {
 
            }
        }
        throw new IllegalArgumentException("Invalid input for date. Given '"+strDate+"', wrong format");
    }
Но в двух строках вместо дат идёт строка null, как я могу вместо Date вернуть "-" в виде String?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.07.2018, 15:23
Ответы с готовыми решениями:

Текст вместо NULL в date
В таблице есть столбец с типом данных data, где могут находиться null значения. Как вместо null'ов...

С приложения вместо данных в базу MySQL идёт NULL
Приветствую, при коннекте в базу уходят данные статистики пользователя, но отчего то по итогу там...

Идёт раздача адресов двух подсетей вместо одной
Структура сети: Интернет -&gt; Роутер (20.0.0.138) -&gt; (20.0.0.1) Прокся (20.200.200.254) -&gt; свич...

Расчет в виде двух матриц вместо одной
Последняя формула под графиком, посмотрите, почему так выходит и как это исправить?

2
+1
345 / 178 / 53
Регистрация: 24.08.2010
Сообщений: 1,028
29.07.2018, 22:29 2
Java
1
2
3
4
5
6
if (strDate == null || strDate.equals(""){
return "-";
}
else{
....
}
0
5 / 5 / 3
Регистрация: 29.01.2015
Сообщений: 189
29.07.2018, 23:11  [ТС] 3
+1, Сделал по другому
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class DateUtil {
public static Object extractTimestampInput(String strDate) {
    final List<String> dateFormats = Arrays.asList("yyyy-MM-dd", "dd-MM-yyyy", "MM-dd-yyyy", "MM/dd/yyyy", "dd/MM/yyyy");
    SimpleDateFormat sdf;
    final String RU_FORMAT = "dd.MM.yyyy";
    String output = "-";
    for (String format : dateFormats) {
        sdf = new SimpleDateFormat(format, new Locale("ru"));
        sdf.setLenient(false);
        try {
            if (sdf.parse(strDate) != null) {
                Date date = sdf.parse(strDate);
                sdf.applyPattern(RU_FORMAT);
                return sdf.format(date);
            }
            break;
        } catch (ParseException e) {
 
        }
    }
    return output;
  }
}
0
29.07.2018, 23:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.07.2018, 23:11
Помогаю со студенческими работами здесь

Вместо чисел - дата! Как исправить?
Здравствуйте! В результате замера детали получил массив значений (координаты точек). Из Excel...

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

В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и пробел
2) В тексте вставить вместо одного пробела запятую и пробел, вместо двух пробелов - двоеточие и...

Как вернуть 65536 строк вместо 1048576?
В новых версиях Excel ячеек стало существенно больше - отсюда у меня увеличилось количество...

Вернуть ANSI как дефолтную кодировку вместо Unicod'a
Пожалуйста, подскажите, каким образом вернуть кодировку ANSI в Windows XP как кодировку по...

Значок в трее показывает вместо Wi-Fi Lan подключение, как вернуть обратно?
При нажатии на значок Лана вылезает вайфай. Купил наушники блютузные, хотел к ноуту подсоединить,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru