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

发布于 2024-07-26 20:49:40 字数 43 浏览 9 评论 0原文

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

How can I set the format for the ${date} variable which can be used in Eclipse templates?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

冬天旳寂寞 2024-08-02 20:49:40

2016 年 2 月更新:bug 75981 已正式修复!
请参阅下面 Jmini答案

“在此处输入图像描述”"


6 年后,2015 年 7 月更新:

下面提到的错误似乎已在 Eclipse 4.x 中修复。
Eric Wang 下面的评论

@date ${id:date('YYYY-MMM-dd')} ${time} 

这给了我 Eclipse 4 中的英文日期时间格式。


原始答案 2009 Eclipse 3.x

啊! 为此有一个长期存在的错误:bug 75981

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

唯一的替代方法是修改类 SimpleTemplateVariableResolver (如 此线程),来自包 org.eclipse.jface.text.templates。 (这里有一个此类扩展的示例)。

线程提到可以在其中找到该类的来源。

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

Update February 2016: bug 75981 is officially fixed!
See Jmini's answer below

enter image description here


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()); } }
鹿童谣 2024-08-02 20:49:40

您可以告诉 Eclipse 使用与操作系统不同的特定区域设置。 Eclipse 3.5(64 位)不使用 MacOS X 区域设置。 以德国为国家的 MacOS X 英语安装语言提供了错误的日期格式。

当您将以下行附加到 eclipse.ini 时,您可以修复 Eclipse 安装的问题:

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

You could tell Eclipse to use a specific locale different from that of your operating system. Eclipse 3.5 (64 bit) doesn't use the MacOS X region setting. MacOS X english installation language with Germany as country provides a wrong date format.

You can fix it for your Eclipse installation when you append following lines to your eclipse.ini:

-Duser.language=de
-Duser.region=DE
你的呼吸 2024-08-02 20:49:40

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

http://www.eclipse.org/downloads/index -developer.php

...或者等到 2016 年 6 月发布官方 Neon 版本。

这里是其工作原理的快速描述:

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

在 Eclipse 首选项中编辑模板

有关此功能的更多信息,请访问我的博客: 错误 75981 已修复!

I have fixed Bug 75981 with Eclipse Neon M5. You can download this Milestone Release here:

http://www.eclipse.org/downloads/index-developer.php

… or wait until June 2016 for the official Neon Release.

Here a quick description of how it works:

  • As before you can use the date variable with no argument. Example: ${date}
  • You can use the variable with additional arguments. In this case you will need to name the variable (since you are not reusing the date somewhere else, the name of the variable doesn't matter). Example: ${mydate:date}
    • The first parameter is the date format. Example: ${d:date('yyyy-MM-dd')}
    • The second parameter is the locale. Example: ${maDate:date('EEEE dd MMMM yyyy HH:mm:ss Z', 'fr')}

Edit Template in Eclipse Preferences

More info about this feature on my blog: Bug 75981 is fixed!

在梵高的星空下 2024-08-02 20:49:40

对于那些最近遇到这个问题的人(像我一样)的附加信息:

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

Additional information for those stumbling over this lately (like me):

For ISO 8601 date format, one can use the language settings fr-CA.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文