2009-07-15 2 views

ответ

31

Обновление февраль 2016 года: bug 75981 официально исправлено!
См Jmini «s answer below

enter image description here


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()); } } 
+2

'@date $ {ID: дата ('YYYY-MMM-дд')} $ { time} 'это дайте мне формат datetime в формате eclipse 4.5. –

+0

@EricWang Спасибо за обновление. Я соответствующим образом обновил ответ. – VonC

+0

Я на 4.4.1, и это не работает для меня. – fgysin

12

Вы могли бы сказать, Eclipse, чтобы использовать конкретную локаль, отличную от вашей операционной системы. Eclipse 3.5 (64 бит) не использует настройки области MacOS X. Язык установки MacOS X на английском языке с Германией в качестве страны дает неправильный формат даты.

Вы можете исправить это для вашей установки Eclipse, когда вы добавляете следующие строки в ваш eclipse.ini:

-Duser.language=de 
-Duser.region=DE 
+0

Большое вам спасибо! Работал и для фи/FI! – Kimi

6

Дополнительная информация для тех, спотыкаясь это в последнее время (как я):

Для ISO 8601 формат даты, можно использовать языковые настройки fr-CA.

+3

добавьте эту строку в свой eclipse.ini: -Duser.language = fr-ca, тогда формат даты будет «2014-08-07». – Soli

+0

Небольшой недостаток: есть несколько мест, где вы также можете получить формат даты на французском языке в графическом интерфейсе. Пример: 14-10-27 (дата комментария) для сравнения местной истории. – Aconcagua

10

Я исправил 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')}

Edit Template in Eclipse Preferences

Более подробную информацию об этой функции в моем блоге: Bug 75981 is fixed!

+1

Молодцы! +1. Я ссылался на ваш ответ в моей, для большей наглядности. – VonC

+0

Можно использовать аналогичную опцию форматирования с $ {time}? –

+1

Ах, похоже, я могу просто включить форматирование времени в SimpleDateFormat, поэтому мне даже не нужно будет использовать $ {time}. –

 Смежные вопросы

  • Нет связанных вопросов^_^