2009-07-15 12 views

risposta

31

Aggiornamento febbraio 2016: bug 75981 è stato risolto ufficialmente!
See Jmini s' answer below

enter image description here


Aggiornamento luglio 2015, 6 anni dopo:

Il bug citato di seguito sembra fissato in Eclipse 4.x.
Eric Wangcomments below:

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

questo mi dia formato datetime inglese in Eclipse 4.


risposta originale 2009 Eclipse 3.x

Argh! C'è un bug di vecchia data solo per questo: bug 75981

La variabile ${date} potrebbe essere migliorato per accettare un argomento (simile ad altri parametrizzazioni aggiunti in 3.3M1), ad esempio, ${d:date(format)}, dove format è un motivo per SimpleDateFormat.

L'unica alternativa sarebbe quella di modificare la classe SimpleTemplateVariableResolver (come descritto in this thread), dal pacchetto org.eclipse.jface.text.templates. (Hai qui un example of such an extension).

Questo thread mentions le fonti in cui è possibile trovare la classe.

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

Esempio:

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: data ('AAAA-MMM-dd')} $ { time} 'questo mi dà il formato datetime inglese in eclipse 4.5. –

+0

@EricWang Grazie per l'aggiornamento. Ho aggiornato la risposta di conseguenza. – VonC

+0

Sono al 4.4.1 e questo non funziona per me. – fgysin

12

Si potrebbe dire Eclipse per utilizzare una versione locale specifica diversa da quella del sistema operativo. Eclipse 3.5 (64 bit) non usa l'impostazione della regione MacOS X. La lingua di installazione inglese di MacOS X con la Germania come paese fornisce un formato di data errato.

È possibile risolvere il problema per l'installazione di Eclipse quando si accoda seguenti righe al tuo eclipse.ini:

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

Grazie mille! Ha funzionato anche per Fi/Fi! – Kimi

6

Ulteriori informazioni per coloro inciampare su questo ultimamente (come me):

Per ISO 8601 formato data, si possono usare le impostazioni della lingua fr-CA.

+3

aggiungi questa riga al tuo eclipse.ini: -Duser.language = fr-ca, quindi il formato della data sarà "2014-08-07". – Soli

+0

Piccolo svantaggio: ci sono alcune posizioni in cui è possibile ottenere il formato di data francese nella GUI. Esempio: 14-10-27 (data del commento) nella cronologia locale comparata. – Aconcagua

10

Ho corretto Bug 75981 con Eclipse Neon M5.Se vuoi scaricare questo Milestone uscita qui:

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

... o aspettare fino a giugno 2016 per il Neon di rilascio ufficiale.

Ecco una rapida descrizione di come funziona:

  • Come prima di poter utilizzare la variabile appuntamento con alcun argomento. Esempio: ${date}
  • È possibile utilizzare la variabile con argomenti aggiuntivi. In questo caso dovrai nominare la variabile (dal momento che non stai riutilizzando la data da qualche altra parte, il nome della variabile non ha importanza). Esempio: ${mydate:date}
    • Il primo parametro è il formato della data. Esempio: ${d:date('yyyy-MM-dd')}
    • Il secondo parametro è la locale. Esempio: ${maDate:date('EEEE dd MMMM yyyy HH:mm:ss Z', 'fr')}

Edit Template in Eclipse Preferences

Maggiori informazioni su questa funzionalità sul mio blog: Bug 75981 is fixed!

+1

Ben fatto! +1. Ho fatto riferimento alla tua risposta nella mia, per maggiore visibilità. – VonC

+0

È possibile utilizzare un'opzione di formattazione simile con $ {time}? –

+1

Ah, sembra che posso semplicemente includere la formattazione dell'ora in SimpleDateFormat, quindi non avrò nemmeno bisogno di usare $ {time}. –

Problemi correlati