'2009-12 Dec' should be converted to '31-DEC-2009'
'2010-09 Sep' should be converted to '30-SEP-2010'
'2010-02 Feb' should be converted to '28-FEB-2010'
'2008-02 Feb' should be converted to '29-FEB-2008'
Les valeurs 2009-12 décembre, 2008-02 février sera affiché à l'utilisateur dans un menu déroulant. L'utilisateur n'a aucune option pour sélectionner le JOUR.date de conversion de "2009-12 dec" format "31-DEC-2009"
La valeur sélectionnée par l'utilisateur doit être transmise à la base de données. Mais la base de données attend la date au format DD-MMM-YYYY
. La requête a la condition '<= USER_DATE
'. Ainsi, le dernier jour du mois doit être automatiquement sélectionné et transmis à la base de données.
Pl m'aider à écrire la fonction qui fait le travail ci-dessus.
static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM MMM");
public static String convertMapedToSqlFormat(final String maped) {
String convertedMaped = null;
//....
return convertedMaped;
}
@Test
public void testConvertMapedToSqlFormat() {
String[] mapedValues = { "2009-12 Dec", "2009-11 Nov", "2009-10 Oct",
"2009-09 Sep", "2009-08 Aug", "2009-07 Jul", "2009-06 Jun",
"2009-05 May", "2009-04 Apr", "2009-03 Mar", "2009-02 Feb",
"2009-01 Jan", "2008-12 Dec", "2008-11 Nov", "2008-10 Oct" };
for (String maped : mapedValues) {
System.out.println(convertMapedToSqlFormat(maped));
}
}
typo dans votre échantillon de 2008 là-bas. –
@martin clayton: l'a corrigé. Merci :) – HanuAthena
Vraiment, vous devez utiliser '<' et le premier jour du mois suivant, sinon vous perdez des événements dans le dernier jour du mois. Exemple '2009-12-31T13: 00: 00' devrait tomber dans la gamme' 2009-12 Dec', mais avec votre méthode, il ne l'est pas. –