Calendar date to yyyy-MM-dd format in java
A Java Date
is a container for the number of milliseconds since January 1, 1970, 00:00:00 GMT.
When you use something like System.out.println(date)
, Java uses Date.toString()
to print the contents.
The only way to change it is to override Date
and provide your own implementation of Date.toString()
. Now before you fire up your IDE and try this, I wouldn't; it will only complicate matters. You are better off formatting the date to the format you want to use (or display).
Java 8+
LocalDateTime ldt = LocalDateTime.now().plusDays(1);
DateTimeFormatter formmat1 = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH);
System.out.println(ldt);
// Output "2018-05-12T17:21:53.658"
String formatter = formmat1.format(ldt);
System.out.println(formatter);
// 2018-05-12
Prior to Java 8
You should be making use of the ThreeTen Backport
The following is maintained for historical purposes (as the original answer)
What you can do, is format the date.
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, 1);
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(cal.getTime());
// Output "Wed Sep 26 14:23:28 EST 2012"
String formatted = format1.format(cal.getTime());
System.out.println(formatted);
// Output "2012-09-26"
System.out.println(format1.parse(formatted));
// Output "Wed Sep 26 00:00:00 EST 2012"
These are actually the same date, represented differently.
How to pass yyyy-mm-dd format date to calender control in Java?
You can try with SimpleDateFormat
String da = "1957-01-01";
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Date date=df.parse(da); // parse your string to date
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
System.out.println(df.format(calendar.getTime())); // format date
How to convert date in to yyyy-MM-dd Format?
Use this.
java.util.Date date = new Date("Sat Dec 01 00:00:00 GMT 2012");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String format = formatter.format(date);
System.out.println(format);
you will get the output as
2012-12-01
java.util.Date format conversion yyyy-mm-dd to mm-dd-yyyy
Date
is a container for the number of milliseconds since the Unix epoch ( 00:00:00 UTC on 1 January 1970).
It has no concept of format.
Java 8+
LocalDateTime ldt = LocalDateTime.now();
System.out.println(DateTimeFormatter.ofPattern("MM-dd-yyyy", Locale.ENGLISH).format(ldt));
System.out.println(DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.ENGLISH).format(ldt));
System.out.println(ldt);
Outputs...
05-11-2018
2018-05-11
2018-05-11T17:24:42.980
Java 7-
You should be making use of the ThreeTen Backport
Original Answer
For example...
Date myDate = new Date();
System.out.println(myDate);
System.out.println(new SimpleDateFormat("MM-dd-yyyy").format(myDate));
System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(myDate));
System.out.println(myDate);
Outputs...
Wed Aug 28 16:20:39 EST 2013
08-28-2013
2013-08-28
Wed Aug 28 16:20:39 EST 2013
None of the formatting has changed the underlying Date
value. This is the purpose of the DateFormatter
s
Updated with additional example
Just in case the first example didn't make sense...
This example uses two formatters to format the same date. I then use these same formatters to parse the String
values back to Date
s. The resulting parse does not alter the way Date
reports it's value.
Date#toString
is just a dump of it's contents. You can't change this, but you can format the Date
object any way you like
try {
Date myDate = new Date();
System.out.println(myDate);
SimpleDateFormat mdyFormat = new SimpleDateFormat("MM-dd-yyyy");
SimpleDateFormat dmyFormat = new SimpleDateFormat("yyyy-MM-dd");
// Format the date to Strings
String mdy = mdyFormat.format(myDate);
String dmy = dmyFormat.format(myDate);
// Results...
System.out.println(mdy);
System.out.println(dmy);
// Parse the Strings back to dates
// Note, the formats don't "stick" with the Date value
System.out.println(mdyFormat.parse(mdy));
System.out.println(dmyFormat.parse(dmy));
} catch (ParseException exp) {
exp.printStackTrace();
}
Which outputs...
Wed Aug 28 16:24:54 EST 2013
08-28-2013
2013-08-28
Wed Aug 28 00:00:00 EST 2013
Wed Aug 28 00:00:00 EST 2013
Also, be careful of the format patterns. Take a closer look at SimpleDateFormat
to make sure you're not using the wrong patterns ;)
need to show date in yyyy/mm/dd format in java
DateFormat dffrom = new SimpleDateFormat("M/dd/yyyy");
DateFormat dfto = new SimpleDateFormat("yyyy-MM-dd");
Date today = dffrom.parse("7/1/2011");
String s = dfto.format(today);
Convert the String to Date first.
Java program : need current Date in YYYY-MM-DD format without time in Date datatype
Date date = new Date();
String modifiedDate= new SimpleDateFormat("yyyy-MM-dd").format(date);
This will do.
Java Get All Working Days in a year in YYYYMMDD format
Here's 2 slightly different takes on your problem:
import java.time.LocalDate;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class DatesInYear {
public static void main(final String[] args) throws Exception {
listWorkingDays(2020).forEach(System.out::println);
}
private static List<LocalDate> listWorkingDays(final int year) {
IntStream
.rangeClosed(1, LocalDate.ofYearDay(year + 1, 1).minusDays(1).getDayOfYear())
.mapToObj (day -> LocalDate.ofYearDay(year, day))
.filter (date -> date.getDayOfWeek().getValue() <= 5)
.forEach (System.out::println);
return IntStream
.rangeClosed(1, LocalDate.ofYearDay(year + 1, 1).minusDays(1).getDayOfYear())
.mapToObj (day -> LocalDate.ofYearDay(year, day))
.filter (date -> date.getDayOfWeek().getValue() <= 5)
.collect (Collectors.toList());
}
}
Related Topics
How Does the "Final" Keyword in Java Work (I Can Still Modify an Object.)
To Prevent a Memory Leak, the Jdbc Driver Has Been Forcibly Unregistered
What Are Java Command Line Options to Set to Allow Jvm to Be Remotely Debugged
How to Hash a Password in Java
Byte Order Mark Screws Up File Reading in Java
No Persistence Provider For Entitymanager Named
How to Run a Java Program from the Command Line on Windows
How to Find All Subclasses of a Given Class in Java
Get Type of a Generic Parameter in Java With Reflection
Get a List of Resources from Classpath Directory
How to Implement a Tree Data-Structure in Java
Does a Lambda Expression Create an Object on the Heap Every Time It's Executed