Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置Eclipse日期变量格式?_Eclipse_Date_Variables_Code Templates - Fatal编程技术网

如何设置Eclipse日期变量格式?

如何设置Eclipse日期变量格式?,eclipse,date,variables,code-templates,Eclipse,Date,Variables,Code Templates,如何设置可在Eclipse模板中使用的${date}变量的格式?2016年2月更新:已正式修复 见 6年后于2015年7月更新: 下面提到的bug在Eclipse4.x中似乎已经修复。 : 这给了我Eclipse4中的英语日期时间格式 原始答案2009 Eclipse3.x 啊!这方面有一个长期存在的缺陷: 可以增强${date}变量以接受参数(类似于其他变量) 在3.3M1中添加的参数化),例如${d:date(format)},其中format是简化格式的模式 唯一的替代方法是从包or

如何设置可在Eclipse模板中使用的${date}变量的格式?

2016年2月更新:已正式修复


6年后于2015年7月更新:

下面提到的bug在Eclipse4.x中似乎已经修复。
:

这给了我Eclipse4中的英语日期时间格式


原始答案2009 Eclipse3.x

啊!这方面有一个长期存在的缺陷:

可以增强
${date}
变量以接受参数(类似于其他变量) 在3.3M1中添加的参数化),例如
${d:date(format)}
,其中
format
简化格式的模式

唯一的替代方法是从包
org.eclipse.jface.text.templates
中修改类
SimpleTemplateVariableResolver
(如中所述)。(你这里有一张支票)

这是可以找到类的源代码

\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使用与您的操作系统不同的特定区域设置。Eclipse3.5(64位)不使用MacOSX区域设置。以德国为国家/地区的MacOS X英语安装语言提供了错误的日期格式

在Eclipse.ini中附加以下行时,可以为Eclipse安装修复它:

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

对于最近在这方面遇到困难的人(如我)的其他信息:

对于ISO 8601日期格式,可以使用fr-CA语言设置。

我已经用Eclipse Neon M5修复了此问题。您可以在此处下载此里程碑版本:

…或者等到2016年6月官方发布霓虹灯

下面简要介绍一下它的工作原理:

  • 与以前一样,可以使用不带参数的日期变量。示例:
    ${date}
  • 可以将变量与其他参数一起使用。在这种情况下,您需要命名变量(因为您没有在其他地方重用日期,所以变量的名称无关紧要)。示例:
    ${mydate:date}
    • 第一个参数是日期格式。示例:
      ${d:date('yyyy-MM-dd')}
    • 第二个参数是区域设置。示例:
      ${maDate:date('EEEE dd MMMM yyyy HH:mm:ss Z','fr')}


有关此功能的更多信息,请访问我的博客:

非常感谢!也为fi/fi工作过!将这一行附加到eclipse.ini:-Duser.language=fr ca,那么日期格式将是“2014-08-07”。小缺点:GUI中也有一些地方可以使用法语日期格式。示例:14-10-27(注释日期)在比较本地历史中。
@date${id:date('YYYY-MMM-dd')}${time}
这为我提供了Eclipse4.5中的英文日期时间格式。@EricWang感谢您的更新。我已经相应地更新了答案。更新对我不起作用。我使用我的自定义格式替换jar中的类。这对我有用。我使用SimpleDataFormat还包括时间:${d:date('yyyy-MM-dd HH:MM:ss')}做得好+1.我在我的答案中引用了你的答案,以获得更多的可视性。类似的格式选项可以用于${time}吗?啊,看起来我可以在SimpleDataFormat中包含时间格式,所以我甚至不需要使用${time}。@FelixBenbrick是的,我对日期时间也使用SimpleDataFormat:${d:date('yyyyy-MM-dd HH:MM:ss')}
-Duser.language=de
-Duser.region=DE