Я хочу иметь следующий формат даты при выполнении System.out.println()
: 31/03/2016
.
Так как они передают мне формат в типе String таким образом "31-03-2016"
, я использую классы
import java.util.Date;
import java.text.DateFormat;
java.text.SimpleDateFormat;
чтобы придать ему правильный формат, и я использую эту форму:
SimpleDateFormat d = new SimpleDateFormat("dd-MM-yy");
Date date = d.parse("31-03-2016");
System.out.println(DateFormat.getDateInstance().format(date));
Но он показывает мне:31-03-2016
Поскольку ваша система стандартна с дефисами, вам нужно 2
SimpleDateFormat
:String
вDate
)Date
вString
нужный формат)Ваш код будет примерно таким:
ВЫХОД
ОНЛАЙН-ДЕМО
ДОБАВЛЕН
Это происходит из-за того, что вы используете Java 7 или выше, с этой версии принцип
Locale.getDefault()
работы изменился.Короче говоря, вам нужно изменить не только формат региона, но и изменить способ отображения дат в языке.
Вы можете проверить проблему в этой зарегистрированной ошибке
ИСТОЧНИК (В)