Comment obtenir la date et l'heure actuelle correctement dans Joda-Time?
comment obtenir correctement la date et l'heure réelle dans L'heure Joda? J'entends par là le temps passé dans mon pays. J'ai lu des pages officielles et quelques tutoriels - il y a beaucoup de choses sur les Locales et les fuseaux horaires, mais je l'ai trouvé assez confus. Je n'ai pas trouvé d'exemple comment simplement obtenir.
J'en ai besoin pour deux choses:
1) pour obtenir le courant pour le post dans la discussion
2) pour obtenir l'heure actuelle que je vais "comparer" avec la date de naissance et calculer l'âge.
Comment puis - je régler L'heure actuelle lorsque J'ai UTC+1 (Prague-République tchèque)?
Merci
2 réponses
voici un pseudo Code pour Joda Time qui pourrait vous être utile.
import org.joda.time.*;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;
public class JodaTimeExample {
public static void main(String[] sm) {
DateTimeFormatter dateFormat = DateTimeFormat
.forPattern("G,C,Y,x,w,e,E,Y,D,M,d,a,K,h,H,k,m,s,S,z,Z");
String dob = "2002-01-15";
LocalTime localTime = new LocalTime();
LocalDate localDate = new LocalDate();
DateTime dateTime = new DateTime();
LocalDateTime localDateTime = new LocalDateTime();
DateTimeZone dateTimeZone = DateTimeZone.getDefault();
System.out
.println("dateFormatr : " + dateFormat.print(localDateTime));
System.out.println("LocalTime : " + localTime.toString());
System.out.println("localDate : " + localDate.toString());
System.out.println("dateTime : " + dateTime.toString());
System.out.println("localDateTime : " + localDateTime.toString());
System.out.println("DateTimeZone : " + dateTimeZone.toString());
System.out.println("Year Difference : "
+ Years.yearsBetween(DateTime.parse(dob), dateTime).getYears());
System.out.println("Month Difference : "
+ Months.monthsBetween(DateTime.parse(dob), dateTime)
.getMonths());
}
}
Lien pour DateTimeFormat formateur
j'espère que cela vous aidera. Si vous avez toute question, laissez-moi savoir.
P. s.: Merci à Sumit Arora pour avoir donné la sortie.
dateFormatr : AD,20,2016,2016,26,2,Tue,2016,180,6,28,PM,8,8,20,20,25,20,2,,
LocalTime : 20:25:17.308
localDate : 2016-06-28
dateTime : 2016-06-28T20:25:18.872+05:30
localDateTime : 2016-06-28T20:25:20.260
DateTimeZone : Asia/Kolkata
Year Difference : 14
Month Difference : 173
LocalTime localTime = new LocalTime();
LocalDate localDate = new LocalDate();
DateTime dateTime = new DateTime();
LocalDateTime localDateTime = new LocalDateTime();
n'importe lequel de ces contructeurs crée la date dans votre fuseau horaire, où votre fuseau horaire signifie fuseau horaire DateTimeZone.getDefault();
151980920"
vous voulez comparer la date actuelle avec la date de naissance. Comment sauvegarder la date de dirth dans la base de données?
Si elle est avec UTC timezone, vous pouvez comparer avec dateTime dans UTC TZ
Years.yearsBetween(dateOfBirth, new DateTime(DateTimeZone.UTC));
Si elle a Serveur TZ vous devez faire
Years.yearsBetween(dateOfBirth, new DateTime());
Si elle a Serveur TZ vous devez faire
Years.yearsBetween(dateOfBirth, new DateTime(DateTimeZone.forID("ClientTZ")));