Как задать формат переменной $ {date}, которая может использоваться в шаблонах Eclipse?Как установить формат переменной даты Eclipse?
ответ
Обновление февраль 2016 года: bug 75981 официально исправлено!
См Jmini «s answer below
Update июля 2015, 6 лет спустя:
Исправлена ошибка, упомянутых ниже, кажется, фиксируется в Eclipse, 4.x.
Eric Wangcomments below:
@date ${id:date('YYYY-MMM-dd')} ${time}
это дает мне английский формат DATETIME в затмении 4.
Оригинал Ответ 2009 ECLIPSE 3.x
ARGH! Существует длинный стоящая ошибка только для этого: bug 75981
Переменная
${date}
может быть повышена принять аргумент (по аналогии с другими параметризаций, добавленных в 3.3M1), например,${d:date(format)}
, гдеformat
является рисунком дляSimpleDateFormat
.
Единственной альтернативой было бы модифицировать класс SimpleTemplateVariableResolver
(как описано в this thread) из пакета org.eclipse.jface.text.templates
. (У вас здесь example of such an extension).
Это thread mentions источники, в которых вы можете найти класс.
\eclipse\plugins\org.eclipse.platform.source_3.1.0\src\org.eclipse.text_3.1.0\src.zip
Пример:
public static class Date extends SimpleTemplateVariableResolver {
/**
* Creates a new date variable
*/
public Date() {
super("date", TextTemplateMessages.getString("GlobalVariables.variable.description.date")); //$NON-NLS-1$ //$NON-NLS-2$ }
protected String resolve(TemplateContext context) {
//return DateFormat.getDateInstance().format(new java.util.Date());
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
return df.format(new java.util.Date()); } }
Вы могли бы сказать, Eclipse, чтобы использовать конкретную локаль, отличную от вашей операционной системы. Eclipse 3.5 (64 бит) не использует настройки области MacOS X. Язык установки MacOS X на английском языке с Германией в качестве страны дает неправильный формат даты.
Вы можете исправить это для вашей установки Eclipse, когда вы добавляете следующие строки в ваш eclipse.ini:
-Duser.language=de
-Duser.region=DE
Большое вам спасибо! Работал и для фи/FI! – Kimi
Дополнительная информация для тех, спотыкаясь это в последнее время (как я):
Для ISO 8601 формат даты, можно использовать языковые настройки fr-CA.
добавьте эту строку в свой eclipse.ini: -Duser.language = fr-ca, тогда формат даты будет «2014-08-07». – Soli
Небольшой недостаток: есть несколько мест, где вы также можете получить формат даты на французском языке в графическом интерфейсе. Пример: 14-10-27 (дата комментария) для сравнения местной истории. – Aconcagua
Я исправил Bug 75981 с Eclipse Neon M5.Вы можете скачать этот Milestone релиз здесь:
http://www.eclipse.org/downloads/index-developer.php
... или ждать до июня 2016 года для официального Неон версии.
Вот краткое описание того, как это работает:
- Как и раньше, можно использовать переменную даты без аргумента. Пример:
${date}
- Вы можете использовать переменную с дополнительными аргументами. В этом случае вам нужно будет указать переменную (поскольку вы не используете другую дату в другом месте, имя переменной не имеет значения). Пример:
${mydate:date}
- Первый параметр - это формат даты. Пример:
${d:date('yyyy-MM-dd')}
- Второй параметр - это локаль. Пример:
${maDate:date('EEEE dd MMMM yyyy HH:mm:ss Z', 'fr')}
- Первый параметр - это формат даты. Пример:
Более подробную информацию об этой функции в моем блоге: Bug 75981 is fixed!
Молодцы! +1. Я ссылался на ваш ответ в моей, для большей наглядности. – VonC
Можно использовать аналогичную опцию форматирования с $ {time}? –
Ах, похоже, я могу просто включить форматирование времени в SimpleDateFormat, поэтому мне даже не нужно будет использовать $ {time}. –
'@date $ {ID: дата ('YYYY-MMM-дд')} $ { time} 'это дайте мне формат datetime в формате eclipse 4.5. –
@EricWang Спасибо за обновление. Я соответствующим образом обновил ответ. – VonC
Я на 4.4.1, и это не работает для меня. – fgysin