SimpleDateFormat Java dates [duplicate] - java

This question already has answers here:
Java SimpleDateFormat Parse Wrong Date
(2 answers)
Y returns 2012 while y returns 2011 in SimpleDateFormat
(5 answers)
Closed 5 years ago.
Any idea what is happening to this code that the dates do not coincide? First prints "20 December 2017" and then "Date with new format:2017-01-01"...
SimpleDateFormat formatter = new SimpleDateFormat("d MMMM YYYY");
SimpleDateFormat formatterNew = new SimpleDateFormat("yyyy-MM-dd");
try{
System.out.println(formatter.format(new Date()));
Date date = formatter.parse("20 December 2017");
System.out.println("Date with new format:" +formatterNew.format(date));
}catch(Exception ex){
ex.printStackTrace();
}

This is related to the use of yyyy vs YYYY. If you change your code to use yyyy it will work.
Here is the explanation of the difference between the two.
Week year

Related

Android(java) wrong datetime day [duplicate]

This question already has answers here:
"EEE MMM dd HH:mm:ss ZZZ yyyy" date format to java.sql.Date
(2 answers)
Java SimpleDateFormat always returning January for Month
(4 answers)
Y returns 2012 while y returns 2011 in SimpleDateFormat
(5 answers)
Closed 1 year ago.
In my app, I noticed that the day from the datetime is wrong
By using:
DateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd HH:mm:ss");
final Calendar cal = Calendar.getInstance();
date = dateFormat.format(cal.getTime());
It gives me 2021-02-49 09:41:29, as you can see. the day from the datetime is 49. Why is it like that?

How to get clock from a date [duplicate]

This question already has answers here:
How to format date and time in Android?
(26 answers)
What is a NullPointerException, and how do I fix it?
(12 answers)
Closed 4 years ago.
I have Date like this Sun May 20 09:18:44 GMT+04:30 2018 how i can get clock from this Date,
i want result like this 09:18 am
Log.v(TAG,"date "+ date.toString());// output is Sun May 20 09:18:44 GMT+04:30 2018
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm");
String time=sdf.format(date);//NullPointerException
your code is working you just have to initialize Date class's object
Date date = new Date();
Date date = new Date();
Log.v(TAG,"date "+ date.toString());
SimpleDateFormat sdf=new SimpleDateFormat("hh:mm");
String time=sdf.format(date);
Log.v(TAG,"date "+ time);
Try this code..
SimpleDateFormat sdf3 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
SimpleDateFormat sdf4 = new SimpleDateFormat("hh:mm", Locale.ENGLISH);
Date d1 = null;
try{
d1 = sdf3.parse("Sun May 20 09:18:44 GMT+04:30 2018");
String date=sdf4.format(d1);
System.out.println("time..." + date);
}catch (Exception e){ e.printStackTrace(); }
System.out.println("check..." + d1);

Get current date in YYYY-MM-DD format in Java (Android) [duplicate]

This question already has answers here:
Month issue in SimpleDateFormat class
(6 answers)
Closed 5 years ago.
I am trying to get a Date object in the format YYYY-MM-DD representing the current system date. Below is my attempt:
Date todayDate = Calendar.getInstance().getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
String todayString = formatter.format(todayDate);
The values are as follows:
todayDate: Mon May 15 16:24:47 GMT+01:00 2017
todayString: 2017-24-15
Having tried this a couple of times I noticed the todayString is not made up of YYYY-MM-DD but YYYY-[minutes][minutes]-DD.
How might I get the current date in the YYYY-MM-DD format?
Change this:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd");
to this:
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
mm stands for the minutes, while MM (capitalized) stands for the month

Convert Date to String in JAVA [duplicate]

This question already has answers here:
How to convert current date into string in java?
(9 answers)
Java string to date conversion
(17 answers)
Closed 8 years ago.
I have java.util.Date 02/26/2015. I want to convert it like Feburary 26,2015 as String. How can I convert it like that ??
like what goes here ??
DateFormat formatter = new SimpleDateFormat("here");
Use this format:
DateFormat formatter = new SimpleDateFormat("EEE dd,yyyy");
As descripted in the documentation of SimpleDateFormat:
E Day name in week
d Day in month
y Year
You use SimpleDateFormat
DateFormat formatter = new SimpleDateFormat("MMMM dd, yyyy");
The format above is:
MMMM Month in year,
dd Day in month,
yyyy Year,
Please read the manual for more possibilities of how to format dates properly.
SimpleDateFormat format=new SimpleDateFormat("MMMM dd, yyyy");

How to display date in dd/mm/yyyy format? [duplicate]

This question already has answers here:
Convert java.util.Date to String
(17 answers)
How can I parse/format dates with LocalDateTime? (Java 8)
(11 answers)
Closed 8 years ago.
I am to new to Java. I want to display date in dd/mm/yyyy format. When I print date using new Date() function it gives me Sting which I don't want. Say I want to print today's date it gives me Sat Jan 24 08:17:41 IST 2015 but I want output as 24/1/2015
Use SimpleDateFormat:
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String date = sdf.format(new Date());
There you have one way to do it: http://docs.oracle.com/javase/tutorial/datetime/iso/format.html
So basically you can define the format in an formatter and use that to convert
the date into a string:
try {
DateTimeFormatter format = DateTimeFormatter.ofPattern("MMM d yyyy hh:mm a");
String out = departure.format(format);
System.out.printf("LEAVING: %s (%s)%n", out, leavingZone);
}
catch (DateTimeException exc) {
System.out.printf("%s can't be formatted!%n", departure);
throw exc;
}

Categories

Resources