Archives par mot-clé : date

DateTimePicker : différentes solutions

Publié dans HTML et CSS | Laisser un commentaire

Plusieurs solutions existent pour sélectionner facilement une date avec un DatePicker (et l’heure pour un DateTimePicker !) pour le Web. Voici une petite sélection.

HTML5 DateTimePicker

Eh oui, sélectionner facilement la date, c’est possible nativement dans votre navigateur avec une simple balise HTML. L’inconvénient c’est que ce n’est pas encore très supporté. Dans Opera, mais ailleurs… ? Et il faut reconnaître que ce n’est pas magnifique.

Choisir une date : <input type="datetime" name="yourDate" />

html5-datetimepicker

Voir les exemples du W3Schools.
Continuer la lecture

UCT, GTM, BST, CET et CEST : mes amis !

Publié dans Geekeries | Laisser un commentaire

Il y a de quoi s’arracher les cheveux…
En Europe :

  • UK et Portugal sont en GMT en hiver, et BST en été
  • France, Germany, Italy, etc, … sont en CET en hiver, et CEST et été

Et relativement à GMT :

  • BST et CET: GMT+1 ou UTC+1
  • CEST: GMT+2 ou UTC+2

L’article de Wikipédia à ce sujet a une carte assez claire : CET.
Franchement, on devrait toujours parler en UTC sur des projets collaboratifs, ce serait quand même plus simple !!!

Calculer la durée d’un script ou d’un programme Java

Publié dans Java | Laisser un commentaire

Combien de fois vous est-il arriver de chercher à connaître la durée d’un script, d’une action ou d’un morceau de code ? Franchement, ça m’est arrivé relativement souvent, à tel point d’ailleurs que le code de base que j’ai créé pour démarrer un nouveau projet de site Internet en PHP, affiche par défaut en bas de page le temps de chargement.

En Java, il existe une class nommée Timerdans le package com.ge.tools qui permet de calculer facilement la durée d’un script. Deux méthodes sont à utiliser :

  • getTempsTotal : renvoie la durée en milliseconde depuis la déclaration du Timer
  • getTempsIntermediaire : renvoie la durée en milliseconde depuis le dernier appel à getTempsIntermediaire ou à la déclaration du Timer si aucun appel à getTempsIntermediaire effectué précédement

Dans l’exemple ci-dessous, j’utilise en fait getTempsTotalFormate et getTempsIntermediaireFormate qui renvoie la durée au format plus lisible : h:min:s,ms.

Timer timer = new Timer();
System.out.println("Sleep 1000ms...");
Thread.currentThread().sleep(1000);
System.out.println("Temps intermédiaire 1 : "+timer.getTempsIntermediaireFormate());
System.out.println("Temps total 1 : "+timer.getTempsTotalFormate()); System.out.println("Sleep 1000ms...");
Thread.currentThread().sleep(1000);
System.out.println("Temps intermédiaire 2 : "+timer.getTempsIntermediaireFormate());
System.out.println("Temps total 2 : "+timer.getTempsTotalFormate());

Ce qui affiche au bout de 2s :

Sleep 1000ms…
Temps intermédiaire 1 : 0:0:1,0
Temps total 1 : 0:0:1,0
Sleep 1000ms…
Temps intermédiaire 2 : 0:0:1,0
Temps total 2 : 0:0:2,0

Maven et les variables d’environnement

Publié dans Java | Un commentaire

Encore un petit petit peu de Maven pour aujourd’hui. Lorsque j’ai fait mes recherches sur la dates, j’ai cherché quelques temps (sans succès) au niveau des variables d’environnement. Du coup, je sais que, sous Maven, pour récupérer les variables d’environnement (JAVA_HOME, M2_HOME, …) il faut préciser le nom du tableau permettant de les récupérer :

<property environment="env" />

Puis d’utiliser : ${env.JVA_HOME}.

Dans le même esprit, le Maven Properties Guide fournit une liste des variables Maven prédéfinies. Voilà qui peut être utile !

Ant et la date

Publié dans Java | Laisser un commentaire

Décidement, en ce moment, je m’amuse avec les dates ! Aujourd’hui c’est au tour d’Ant de passer au crible. Dans le fichier de configuration de Maven, voici ce que j’utilise :

<ant:tstamp>
	<format property="dateDuJour" pattern="yyyy-MM-dd" />
</ant:tstamp>
<echo message="Nous somme le : ${dateDuJour}"/>

Ce qui affiche : 2010-07-08.
En lisant un article sur le site de Gadberry (article parlant des dates avec Ant) et surtout la doc Ant sur tstamp, on peut voir qu’on peut bien sûr préciser un format comme on veut (ex : yyyy-MM-dd hh:mm), ou utiliser les formats prédéfinis :

  • DSTAMP : yyyyMMdd
  • TSTAMP : hhmm * TODAY : MMMM dd yyyy
<ant:tstamp />
<echo message"${DSTAMP}" /> 
<echo message"${TSTAMP}" />
<echo message"${TODAY}" />

Ce qui affiche : 20100708, 1715 et 2010 07 08.

Gestion rapide des dates sous Oracle

Publié dans SQL | Laisser un commentaire

En ce moment j’ai l’occasion de faire un petit peu de SQL à la mode Oracle. Et je viens de passer quelques minutes avec les dates… Le plus simple est de montrer 2 exemples d’utilisation.

Transformer une chaîne de caractères en date

SELECT * FROM ma_table WHERE date = to_date('18/03/1988', 'DD/MM/YYYY')

Transformer une date en chaîne de caractères

SELECT to_char(date, 'DD/MM/YYYY') AS maDate FROM ma_table

Format de date

A l’heure où j’écris ces lignes, nous sommes le 6 juillet 2010 et il est 17h18 et des brouettes. Je vais m’en servir pour les exemples.

Continuer la lecture

Comparer 2 dates en Java avec compareTo, before, after et equals

Publié dans Java | Laisser un commentaire

Java permet aussi de comparer très facilement deux dates entre elles. Pour voir comment cela se passe en vrai, nous allons ré-utiliser les exemples prient pour le billet Transformer une String en Date en Java et vérifier sa validité comme ça on pourra lire facilement les dates.
Pour comparer 2 dates, on peut utiliser compareTo qui a le mérite d’être puissante mais de nécessiter une petite lecture de la doc pour connaître le sens de lecture. Sinon, on peut se limiter à l’utilisation de before et after. Le tout est de bien savoir dans quel sens on travaille.

Pour tous les exemples ci-dessous je réfléchis de la manière suivante : dateAComparer.comparateur(datePasséeEnArgument)
Continuer la lecture

Montre mécanique

Transformer une String en Date en Java et vérifier sa validité

Publié dans Java | 2 commentaires

Dans un précédent billet Petit point sur SimpleDateFormat, on a vu l’utilisation de SimpleDateFormat, et on va que c’était relativement simple. Plusieurs exemples montraient comment utiliser format pour transformer une date en une chaîne de caractère formatée selon notre bon plaisir. Un court exemple présentait la méthode parse qui effectue l’opération inverse : transforme une chaîne de caractère dans un format bien défini, en une date. Le but de ce billet est d’aller un peu plus loin avec parse pour voir comment il est possible de gérer les différents cas d’erreurs.

Prenons un premier exemple. Définissons un format de date : dd/MM/yyyy. Aujourd’hui nous sommes le 1er juillet 2010, par conséquent la date du jour dans le format que l’on vient de définir s’écrie : 01/07/2010. On va donc récupérer une chaîne de caractère et la transformer en date avec parse, puis vérifier que l’on obtient le bon résultat. L’exemple ci-dessous affiche : « Date parsée : Fri Mar 18 00:00:00 CET 1988 ».
Continuer la lecture

Montre mécanique

Petit point sur SimpleDateFormat

Publié dans Java | 2 commentaires

Montre mécaniqueCes derniers temps, il m’est arrivé plusieurs fois de m’amuser avec une date en Java. Ma foi, ce n’est pas particulièrement compliqué, mais il faut avoir compris le principe, bref, ça vaut le coup d’y passer quelques demi heures. Par conséquent, commençons par SimpleDateFormat qui permet d’afficher facilement (puisque c’est simple !) une date comme on le souhaite.
L’idée de base est la suivante :

  • On précise un format de date avec SimpleDateFormat
  • Avec la méthode SimpleDateFormat.format, qui renvoie un String, on parse une date au format souhaité.
  • Ou alors avec la méthode SimpleDateFormat.parse qui renvoie une Date, on parse une String (au format précisé) en une date

Continuer la lecture

Montre mécanique

Transformer une date en langage naturel, en timestamp

Publié dans PHP | Laisser un commentaire

En ce moment, je m’amuse avec des flux RSS, et il se trouve que dans un flux RSS, on tombe souvent sur une date de la forme : « Fri Oct 30 17:17:00 2009 ». Bref, une date en langage naturel ! Mais voilà, ce dont j’ai besoin c’est d’une date au format timestamp (le nombre de secondes depuis le 1er janvier 1970 à minuit, aussi appelé l’epoch). Je pars donc avec mes grands sabots : des regex pour séparer heures, minutes, …, et un p’tit coup de mktime !
C’est pas mal, mais en fouillant dans la doc, j’ai trouvé une petite fonction fort sympathique : strtotime ! Cette fonction prend une chaine de caractères en argument et renvoie, si possible, le timestamp correspondant. Plusieurs mots clefs sont pris en compte, par exemple now, ou next Thursday. Et le format de date précédemment cité est bien reconnu, chouette, non ? Pour se convaincre :

$str = 'Mon Nov 2 07:01:11 2009';
$timestamp = strtotime($str);
$str2 = date('D M j H\:i\:s Y', $timestamp);
echo 'Date d\'origine : '.$str.'<br />Timestamp après strtotime : '.$timestamp.'<br />Date réécrite après strtotime : '.$str2;

Ce qui affiche bien :

Date d’origine : Mon Nov 2 07:01:11 2009
Timestamp après strtotime : 1257145271
Date réécrite après strtotime : Mon Nov 2 07:01:11 2009

Magique, non ?
Bon, je retourne à mes flux RSS.