How to set the Eclipse date variable format?
code-templates, date, eclipse, variables
Solution
Update February 2016: bug 75981 is officially fixed! See Jmini's answer below
Update July 2015, 6 years later:
The bug mentioned below seems fixed in Eclipse 4.x. Eric Wang comments below:
@date ${id:date('YYYY-MMM-dd')} ${time}
this give me English datetime format in eclipse 4.
Original Answer 2009 Eclipse 3.x
Argh! There is a long standing bug just for that: bug 75981
The `${date}` variable could be enhanced to accept an argument (similar to other parameterizations added in 3.3M1), e.g. `${d:date(format)}`, where `format` is a pattern for `SimpleDateFormat`.
The only alternative would be to modify the class `SimpleTemplateVariableResolver` (as described in this thread), from the package `org.eclipse.jface.text.templates`. (You have here an example of such an extension).
This thread mentions the sources where you can find the class.
\eclipse\plugins\org.eclipse.platform.source_3.1.0\src\org.eclipse.text_3.1.0\src.zip
Example:
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()); } }
Problem
How can I set the format for the ${date} variable which can be used in Eclipse templates?