java timestamp conversion [closed] - java

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I have two programs but I cannot find a way to merge the two of them together. Is there anyway I can do this?
This is the fisrt part of code by converting the date to a string
package main_program;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class testing2 {
public static void main( String[] args) {
SimpleDateFormat format = new SimpleDateFormat(" EEE MMM dd HH:mm:ss zzz yyyy ");
String time = " Wed Dec 14 00:00:00 CST 2012 ";
Date date = null;
try {
date = format.parse(time);
} catch (ParseException e1) {
e1.printStackTrace();
}
try {
System.out.println("Format To times:");
System.out.println(date.getTime());
}catch (Exception e){
e.printStackTrace();
}
}
}
This is the second part of the code by converting the string in long to a formated date
package main_program;
import java.sql.Timestamp;
public class lta {
public static void main(String[] args) {
java.util.Date ABC= new java.util.Date(1355241600000l);
System.out.println(new Timestamp(ABC.getTime()));
}
}

package main_program;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.sql.Timestamp;
public class testing2 {
public static void main( String[] args) {
SimpleDateFormat format = new SimpleDateFormat(" EEE MMM dd HH:mm:ss zzz yyyy ");
String time = " Wed Dec 14 00:00:00 CST 2012 ";
Date date = null;
try {
date = format.parse(time);
} catch (ParseException e1) {
e1.printStackTrace();
}
try {
System.out.println("Format To times:");
System.out.println(date.getTime());
Timestamp ts = new Timestamp(date.getTime());
System.out.println(ts);
}catch (Exception e){
e.printStackTrace();
}
}
}

To merge them together, you could instead of defining two main methods in separate classes, create a single larger class with the given methods defined. The methods should probably be set to return values, rather than printing, in that case. You could print the values returned from them, if you so desire. Something like this:
Modified to accomplish the goal stated in comments:
public class MyClass {
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.sql.Timestamp;
public static void main(String[] args) {
//Do whatever you are intending to, calling 'lta' and 'testing2', like:
String time=" Wed Dec 14 00:00:00 CST 2012 ";
long longtime = testing2(time);
System.out.println(lta(longtime));
}
public static Timestamp lta(long time)
{
java.util.Date ABC= new java.util.Date(time);
return new Timestamp(ABC.getTime());
}
public static long testing2(String time) {
SimpleDateFormat format = new SimpleDateFormat( " EEE MMM dd HH:mm:ss zzz yyyy " );
Date date = null;
try {
date = format.parse(time);
} catch (ParseException e1) {
e1.printStackTrace();
return null;
}
try {
return String.valueOf(date.getTime());
}catch (Exception e){
e.printStackTrace();
return null;
}
}
}

Related

Converting String object to Date object

Hi i am truing to convert this string 2015-11-26 to Date object so:
I am trying this:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date result=null;
try {
result = df.parse(date);
} catch (ParseException ex) {
Logger.getLogger(XmlReaderDemo.class.getName()).log(Level.SEVERE, null, ex);
}
codecurrency.setDate(result);
And date is the string holding 2015-11-26
It gives me exception and I don't know why.
Your code is working fine:
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.*;
import java.text.ParseException;
public class DateExample {
public static void main (String args[]) {
String date = "2015-11-26";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date result = null;
try {
result = df.parse(date);
} catch (ParseException ex) {
ex.printStackTrace();
}
System.out.println("result: " + result);
}
}
I just changed it a bit, so it compiles.
If you still can't get it to work, please post a Runnable example so we can provide more and better help.
This is the output I get:
result: Thu Nov 26 00:00:00 CST 2015
Also looking at the exception and your code, you probably want to move this line:
codecurrency.setDate(result);
inside the try call...

Convert String to Timestamp Java

So I am having this issue that I can't wrap my head around. I've read similar questions posed but very case I've found there is an issue with the format, and my format is correct.
Basically I am trying to convert a String into a Timestamp, and I get the unparseable date error.
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Hello {
public static Timestamp convertStringToTimestamp(String str_date) {
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS");
Date date = formatter.parse(str_date);
java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
return timeStampDate;
} catch (ParseException e) {
System.out.println("Exception :" + e);
return null;
}
}
public static void main(String[] args) {
Timestamp ts = convertStringToTimestamp("2015-06-09 11:51:12,708");
Timestamp ts2 = convertStringToTimestamp("2015-04-17 11:29:49.564");
System.out.println(ts +" | "+ts2);
}
}
Output:
Exception :java.text.ParseException: Unparseable date: "2015-06-09 11:51:12,708"
Exception :java.text.ParseException: Unparseable date: "2015-04-17 11:29:49.564"
null | null
Any ideas?
This works perfectly to me.
I just passed the right pattern as an input as well.
public static Timestamp convertStringToTimestamp(String str_date, String pattern) {
try {
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
Date date = formatter.parse(str_date);
java.sql.Timestamp timeStampDate = new Timestamp(date.getTime());
return timeStampDate;
} catch (ParseException e) {
System.out.println("Exception :" + e);
return null;
}
}
public static void main(String[] args) {
Timestamp ts = convertStringToTimestamp("2015-06-09 11:51:12,708", "yyyy-MM-dd HH:mm:ss,SSS");
Timestamp ts2 = convertStringToTimestamp("2015-04-17 11:29:49.564", "yyyy-MM-dd HH:mm:ss.SSS");
System.out.println(ts +" | "+ts2);
}
The output is:
2015-06-09 11:51:12.708 | 2015-04-17 11:29:49.564
"2015-06-09 11:51:12,708" is working for me but "2015-04-17 11:29:49.564" won't. You specified the regex for "," so "." would not. It is perfectly normal.
you need to fix the comma
Timestamp ts2 = convertStringToTimestamp("2015-04-17 11:29:49.564");
**Update**
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SomeClass {
public static void main(String[] args) {
System.out.println(convertStringToTimestamp("2015-06-09 11:51:12,708"));
//be consistent here with , and .
System.out.println(convertStringToTimestamp("2015-04-17 11:29:49.564"));
System.out.println();
}
private static Timestamp convertStringToTimestamp(String something) {
SimpleDateFormat dateFormat = null;
if(something.contains(".")) {
dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS");
}
if(something.contains(",")) {
dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss,SSS");
}
Timestamp timestamp = null;
Date parsedDate;
try {
parsedDate = dateFormat.parse(something);
timestamp = new java.sql.Timestamp(parsedDate.getTime());
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return timestamp;
}
}

Can't import data from excel file

I am getting an error( Unparseable date: "18–11–2003") when i try to import data from excel file. the date from the file cannot be parsed
if(row.getCell(16)!=null){
String dobb=null;
Date dob=null;
row.getCell(16).setCellType(row.getCell(16).CELL_TYPE_STRING);
dobb=row.getCell(16).getStringCellValue();
System.out.println(dobb);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
dob = (Date)simpleDateFormat.parse(dobb);//error..... Unparseable date: "18–11–2003"
System.out.println("dateeee"+dob);
} catch (ParseException e) {
e.printStackTrace();
//dob=new Date();
}
It looks like the specified "18–11–2003" date contains u2013 Unicode character instead of a normal dash which is u002d.
Here is a sample that uses the string copy-pasted from the question:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy");
try {
String trouble = "18–11–2003";
String goodOne = "18-11-2003";
Date date = simpleDateFormat.parse(goodOne);
//Date date = simpleDateFormat.parse(trouble);
System.out.println(String.format ("\\u%04x", (int)trouble.charAt(2)));
System.out.println(String.format ("\\u%04x", (int)goodOne.charAt(2)));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
The character in the actual date (–) is not the same character in your date format (-).
This code:
public static void main(String[] args) {
System.out.println((int)'–');
System.out.println((int)'-');
}
produces this result:
8211
45
There are several things you can do:
Do a replace() on your date string (dateStr = dateStr.replace("–", "-");) to replace the strange hyphen with an actual ASCII hyphen. *Recommended*
Change your dateformat from "dd–MM–yyyy" to "dd–MM–yyyy"

convert string date to java.sql.Date [duplicate]

This question already has answers here:
Parsing error for date field
(2 answers)
Closed 8 years ago.
Is it possible to convert string "20110210"
to a java.sql.Date 2011-02-10?
I've tried SimpleDateFormat and I get java.text.ParseException: Unparseable date: "20110210"
What am I doing wrong?
i had
new SimpleDateFormat("yyyy-MM-dd")
instead of
new SimpleDateFormat("yyyyMMdd")
This works for me without throwing an exception:
package com.sandbox;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Sandbox {
public static void main(String[] args) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
Date parsed = format.parse("20110210");
java.sql.Date sql = new java.sql.Date(parsed.getTime());
}
}
worked for me too:
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
Date parsed = null;
try {
parsed = sdf.parse("02/01/2014");
} catch (ParseException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
java.sql.Date data = new java.sql.Date(parsed.getTime());
contato.setDataNascimento( data);
// Contato DataNascimento era Calendar
//contato.setDataNascimento(Calendar.getInstance());
// grave nessa conexão!!!
ContatoDao dao = new ContatoDao("mysql");
// método elegante
dao.adiciona(contato);
System.out.println("Banco: ["+dao.getNome()+"] Gravado! Data: "+contato.getDataNascimento());

SimpleDateFormat not producing expected output

I have used JCalender to get the date. It returned the date like this
Thu Mar 01 18:35:53 PST 2012
But what I need is this format.
01/03/2012
I have tried the following code:
SimpleDateFormat MydateFormat = new SimpleDateFormat("dd/MM/yyyy");
FromDate.getDateEditor().addPropertyChangeListener(
new PropertyChangeListener() {
#Override
public void propertyChange(PropertyChangeEvent e) {
if ("date".equals(e.getPropertyName())) {
System.out.println(e.getPropertyName()
+ ": -->" + (Date) e.getNewValue());
try {
fdate = MydateFormat.parse(e.getNewValue().toString());
JOptionPane.showMessageDialog(rootPane, fdate);
} catch (ParseException ex) {
Logger.getLogger(DashboardChart.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
});
What you were asking for was a new Date object based on the current one. Try this:
package test;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JOptionPane;
public class TestDateFormat {
public static void main(String[] args) {
SimpleDateFormat MydateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date date = new Date();
String fdate = MydateFormat.format(date);
System.out.println(date + " \tFORMATTED: " + fdate);
JOptionPane.showMessageDialog(null, fdate);
}
}
E.G. Output
Sat Mar 24 23:40:09 EST 2012 FORMATTED: 24/03/2012

Categories