Làm cách nào tôi có thể đặt định dạng cho biến $ {date} có thể được sử dụng trong các mẫu Eclipse?Cách đặt định dạng biến ngày tháng của Eclipse?
Trả lời
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
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 choSimpleDateFormat
.
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()); } }
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
Cảm ơn bạn rất nhiều! Làm việc cho fi/FI quá! – Kimi
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.
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')}
- Tham số đầu tiên là định dạng ngày. Ví dụ:
Thông tin thêm về tính năng này trên blog của tôi: Bug 75981 is fixed!
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
Có thể sử dụng tùy chọn định dạng tương tự với $ {time} không? –
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}. –
'@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. –
@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
Tôi đang sử dụng 4.4.1 và điều này không hiệu quả với tôi. – fgysin