2015-02-26 1 views
-1
/** 
* 
* Purpose: 
* 
* 1. Need to convert a String date of format "dd/MM/yyyy HH:mm:ss" to 
* java.util.Date of format dd/mm/yyyy HH:mm:ss and convert that to 
* java.sql.Date to send to database table column of type Date. 
* 
*/ 
public class TestDate { 

    public static void main(String[] args) throws ParseException { 
     String inputDateStr = "10-Jan-2013"; 
     SimpleDateFormat inputFormatter = new SimpleDateFormat("dd-MMM-yyyy"); 
     SimpleDateFormat outputFormatter = new SimpleDateFormat(
       "dd/MM/yyyy HH:mm:ss"); 
     java.util.Date inputDateDate = inputFormatter.parse(inputDateStr); 
     System.out.println("inputDateDate :" + inputDateDate); 
     // printed: inputDateDate :Thu Jan 10 00:00:00 EST 2013 

     String requiredDateStr = outputFormatter.format(inputDateDate); 
     System.out.println("requiredDateStr :" + requiredDateStr); 
     // printed: requiredDateStr :10/01/2013 00:00:00 

     /* 
     * PROBLEM: Need to convert this 'requiredDateStr' ie: '10/01/2013 
     * 00:00:00' to a java.util.Date type and still retain the pattern of 
     * "dd/MM/yyyy HH:mm:ss" 
     */ 

     //how to do this? 

     // java.util.Date requiredDateDate = feeding requiredDateStr and format 
     // of "dd/MM/yyyy HH:mm:ss" 

     // java.sql.Date sqlDate = new Date(requiredDateDate.getTime()); 

    } 
} 

Edit: Question: Comment convertir cette chaîne "10/01/2013 00:00:00" au format java.util.Date?convertir une date de chaîne de format "jj/mm/aaaa HH: mm: ss" pour * java.util.Date format jj/mm/aaaa HH: mm: ss

En fin de compte, je veux convertir cette chaîne "10/01/2013 00:00:00" à un format java.sql.Date

+0

Et quelle est votre question? – Jens

+0

Ce n'est pas clair ce que vous demandez ici. Vous dites que vous voulez un java.util.Date d'un format spécifique, mais java.util.Date n'est dans aucun format du tout; c'est juste un instant spécifique dans le temps (mesuré en millisecondes depuis l'époque) – ComputerDruid

+0

@Jens a édité le message pour ajouter la question exacte – spiderman

Répondre

1

Utilisation SimpleDateFormat:

SimpleDateFormat df = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss") ; 
df.parse("10/01/2013 00:00:00"); 

Voir la documentation pour plus d'informations sur le format .

Pour votre deuxième question, voir this thread.

+0

Merci pour le lien pour mon deuxième qn. Le premier ne m'aide pas car il donne une date de quelque format, où je cherchais la date d'un format particulier. Pour le premier, ComputerDruid a bien dit. Si vous pouvez ajouter cela à votre réponse, je peux accepter la vôtre et la fermer. Merci de m'avoir aidé – spiderman

+0

@spiderman il vous donne la date pour le format que vous demandez ?! – Jens

+0

Non, ce n'est pas le cas. 'java.util.Date' ne le fera pas. c'est ce qu'il expliquait – spiderman