Cannot Parse Date from Twitter [duplicate] - java

This question already has answers here:
Simple date format in java, Parse Exception
(3 answers)
Closed 7 years ago.
I´m getting a list of twitter dates via the search API of twitter.
String dateString = ((JSONObject)ar.get(i)).get("created_at").toString();
// Ej: "Tue May 12 19:58:26 +0000 2015"
String TWITTER="EEE MMM dd HH:mm:ss ZZZZZ yyyy";
SimpleDateFormat sf = new SimpleDateFormat(TWITTER);
Date d = sf.parse(dateString);
LocalDate localDate = LocalDate.parse( new SimpleDateFormat("yyyy-MM-dd").format(d) );
Can anyone help me see what I´m doing wrong?
I don´t see any errors in my date format. However, I´m getting an unparseable date Exception on the sf.parse(dateString); line.

SimpleDateFormat is Locale dependent, so just use an explicit english Locale:
String TWITTER="EEE MMM dd HH:mm:ss ZZZZZ yyyy";
SimpleDateFormat sf = new SimpleDateFormat(TWITTER,Locale.ENGLISH);

Related

How I can get date object in format yyyy-MM-dd after date parsing [duplicate]

This question already has answers here:
Java convert date format [duplicate]
(3 answers)
display Java.util.Date in a specific format
(11 answers)
Closed 2 years ago.
I have string date 2020-07-05 22:44:59 in string format, I parse it with SimpleDateFormat with
"yyyy-MM-dd HH:mm:ss a z" date pattern but it gives me date like Sun Jul 05 22:44:59 IST 2020.
So how I can get date in "yyyy-MM-dd HH:mm:ss a z" format in date object.
Input : 2020-07-05 22:44:59
Output : 2020-07-05 22:44:59
I want output int the same format like input.
Thanks for Helping me.
String input = "2020-07-05 22:44:59";
DateFormat parser = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = parser.parse(input);
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String output = formatter.format(date);

Format a date to a specific format in java? [duplicate]

This question already has answers here:
Setting date into "dd"-"mm"-"yy" format from "dd"-"mm"-"yyyy" in java
(4 answers)
Closed 6 years ago.
I have a date in the format 11-NOV-13
When i convert the date i get the value Sat Nov 11 00:00:00 IST 13.
But i want the converted date to be in the format Sat Nov 11 00:00:00 IST 2013.
Though i have used the dateformat it is not taking it. Can anyone point me where i am wrong?
Below is the code i have been working on
DateFormat format = new SimpleDateFormat("dd-MMM-yyyy", Locale.ENGLISH);
Date myDate = format.parse("11-NOV-13");
Change the format to:
DateFormat format = new SimpleDateFormat("dd-MMM-yy", Locale.ENGLISH);
You need to make the year 2 numbers:
DateFormat format = new SimpleDateFormat("dd-MMM-yy", Locale.ENGLISH);
You can reference the docs here.
As you are not providing the full year you need
DateFormat format = new SimpleDateFormat("dd-MMM-yy", Locale.ENGLISH);
Date myDate = format.parse("11-NOV-13");
System.out.println(myDate);
Change to this format:
SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
DateFormat format = new SimpleDateFormat("dd-MMM-yy", Locale.ENGLISH);
Date myDate = format.parse("11-NOV-13");
String formattedDate = sdf.format(myDate);

Convert from String to Date throws Unparseable date exception [duplicate]

This question already has answers here:
Java - Unparseable date
(3 answers)
Closed 9 years ago.
I want to convert a Date to a String but I have some problems. My code is this:
SimpleDateFormat formato = new SimpleDateFormat(
"EEE MMM dd HH:mm:ss z yyyy");
String hacer = "Fri Nov 01 10:30:02 PDT 2013";
Date test = null;
test = formato.parse( hacer);
System.out.println("prueba===>" + test);
But nothing something is wrong eclipse shows me this error:
Unparseable date: "Fri Nov 01 10:30:02 PDT 2013"
at java.text.DateFormat.parse(Unknown Source)
some help?
Probably your default locale doesn't support English months in MMM. For example in Poland MMM supports "styczeń" but not "Jan" or "January"
To change this In SimpleDateFormat you need to set locale which supports months written in English, for example
new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy", Locale.ENGLISH);

How to format date? [duplicate]

This question already has answers here:
Convert string to date then format the date
(8 answers)
Closed 9 years ago.
Given DateTime, how to format date in the following format ?
12 JUL 2013
in c#, you do this
string formatedDateString = String.Format("{0:dd MMM yyyy}", myDateTime);
What is the equivalent code in JAVA ?
And date represents instance of java.util.Date
String formattedDate = new SimpleDateFormat("dd MMM yyyy").format(date);
Use a SimpleDateFormat. Along the lines of
(new SimpleDateFormat("dd MMM yyyy")).parse("12 JUL 2013");
(new SimpleDateFormat("dd MMM yyyy")).format(new Date());
I would use the localized approach as described here:
String formattedDate = DateFormat.getDateInstance().format(date);

Date format in java [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
how to convert seconds_since_the_beginning_of_this_epoch to date format in java..?
hi i have "1304054138" in ssboetod . I want to display it in this "21 Apr 2011 11:46:00 AM IST" format. How i can do this in java code... ?
SimpleDateFormat sdf = new SimpleDateFormat("dd MM yyyy hh:mm:ss a z")
String result = sdf.format(new Date(timestamp));
if timestamp is a String, you can obtain the long version by calling Long.parseLong(string)
Like this:
// creat date format
DateFormat dateFormat = DateFormat.getDateTimeInstance(
DateFormat.LONG, DateFormat.LONG);
// set time zone
dateFormat.setTimeZone(TimeZone.getTimeZone("IST"));
// create and format date
String formattedDate = dateFormat.format(new Date(Long.valueOf("1304054138")));
// write out
System.out.println(formattedDate);

Categories