Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get properly current date and time in Joda-Time?

How to get properly actual date and time in Joda Time? By properly I mean time in my country. I read official pages and some tutorials - there are many things about Locales and timezones but I found it quite confusing. I did't found any example how to simply get it.

I need it for two things:

  1. To get current for post in disscusion,
  2. To get current time which I will "compare" with date of birth and compute the age.

How can I set the current time when I have UTC+1 (Prague - Czech Republic)?

like image 938
user1097772 Avatar asked Jan 15 '13 04:01

user1097772


People also ask

How do I change the date format in Joda-time?

I think this will work, if you are using JodaTime: String strDateTime = "11/15/2013 08:00:00"; DateTime dateTime = DateTime. parse(strDateTime); DateTimeFormatter fmt = DateTimeFormat. forPattern("MM/dd/YYYY"); String strDateOnly = fmt.

Does Joda DateTime have timezone?

Adjusting Time ZoneUse the DateTimeZone class in Joda-Time to adjust to a desired time zone. Joda-Time uses immutable objects. So rather than change the time zone ("mutate"), we instantiate a new DateTime object based on the old but with the desired difference (some other time zone). Use proper time zone names.

Is Joda-time deprecated?

So the short answer to your question is: YES (deprecated).


1 Answers

Here is pseudo Code for Joda Time which could be useful to you.

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());     } } 

Link for DateTimeFormat formatter

Joda Time API

I hope this will help you. If you got any question let me know.

P.S.: Thanks to Sumit Arora for giving the output.

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 
like image 108
Smit Avatar answered Oct 19 '22 11:10

Smit