2009-07-15 10 views

Trả lời

31

Cập nhật tháng 2 năm 2016: bug 75981 được chính thức khắc phục!
Xem Jmini 's answer below

enter image description here


Cập nhật tháng 7 năm 2015, 6 năm sau:

Lỗi đề cập dưới đây dường như cố định trong 4.x. Eclipse
Eric Wangcomments below:

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

này cho tôi định dạng datetime tiếng Anh trong eclipse 4.


gốc trả lời 2009 Eclipse 3.x

Argh! Có một lỗi dài đứng chỉ cho rằng: bug 75981

Biến ${date} có thể được tăng cường để chấp nhận một đối số (tương tự như tham số hoá khác được thêm vào trong 3.3M1), ví dụ ${d:date(format)}, trong đó format là mẫu cho SimpleDateFormat.

Lựa chọn duy nhất sẽ được sửa đổi lớp SimpleTemplateVariableResolver (như mô tả trong this thread), thuộc về gói org.eclipse.jface.text.templates. (Bạn có ở đây một example of such an extension).

Điều này thread mentions các nguồn nơi bạn có thể tìm thấy lớp học.

\eclipse\plugins\org.eclipse.platform.source_3.1.0\src\org.eclipse.text_3.1.0\src.zip 

Ví dụ:

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: ngày ('YYYY-MMM-dd')} $ { time} 'điều này cho tôi định dạng datetime tiếng Anh trong nhật thực 4.5. –

+0

@EricWang Cảm ơn bạn đã cập nhật. Tôi đã cập nhật câu trả lời cho phù hợp. – VonC

+0

Tôi đang sử dụng 4.4.1 và điều này không hiệu quả với tôi. – fgysin

12

Bạn có thể nói với Eclipse để sử dụng một miền địa phương cụ thể khác so với các hệ điều hành của bạn. Eclipse 3.5 (64 bit) không sử dụng cài đặt vùng MacOS X. Ngôn ngữ cài đặt tiếng Anh của MacOS X với Đức là quốc gia cung cấp định dạng ngày sai.

Bạn có thể sửa chữa nó để cài đặt Eclipse của bạn khi bạn thêm dòng sau vào eclipse.ini của bạn:

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

Cảm ơn bạn rất nhiều! Làm việc cho fi/FI quá! – Kimi

6

thông tin bổ sung cho những vấp ngã trên này thời gian gần đây (như tôi):

Đối với tiêu chuẩn ISO 8601 định dạng ngày, người ta có thể sử dụng cài đặt ngôn ngữ fr-CA.

+3

nối dòng này vào eclipse.ini của bạn: -Duser.language = fr-ca, sau đó định dạng ngày sẽ là "2014-08-07". – Soli

+0

Bất lợi nhỏ: có một vài địa điểm nơi bạn cũng có định dạng ngày tiếng Pháp trong GUI. Ví dụ: 14-10-27 (ngày nhận xét) so sánh lịch sử địa phương. – Aconcagua

10

Tôi đã sửa số Bug 75981 bằng Eclipse Neon M5.Bạn có thể tải Milestone phát hành này ở đây:

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

... hoặc chờ cho đến khi tháng 6 năm 2016 cho phát hành Neon chính thức.

Dưới đây là một mô tả nhanh về cách hoạt động:

  • Như trước đây, bạn có thể sử dụng biến ngày không có đối số. Ví dụ: ${date}
  • Bạn có thể sử dụng biến với các đối số bổ sung. Trong trường hợp này, bạn sẽ cần phải đặt tên biến (vì bạn không sử dụng lại ngày ở một nơi khác, tên của biến không quan trọng). Ví dụ: ${mydate:date}
    • Tham số đầu tiên là định dạng ngày. Ví dụ: ${d:date('yyyy-MM-dd')}
    • Tham số thứ hai là miền địa phương. Ví dụ: ${maDate:date('EEEE dd MMMM yyyy HH:mm:ss Z', 'fr')}

Edit Template in Eclipse Preferences

Thông tin thêm về tính năng này trên blog của tôi: Bug 75981 is fixed!

+1

Làm tốt lắm! +1. Tôi đã tham khảo câu trả lời của bạn trong tôi, cho khả năng hiển thị nhiều hơn. – VonC

+0

Có thể sử dụng tùy chọn định dạng tương tự với $ {time} không? –

+1

Ah, có vẻ như tôi chỉ có thể bao gồm định dạng thời gian trong SimpleDateFormat vì vậy tôi thậm chí sẽ không cần sử dụng $ {time}. –