java - current_timestamp - ¿Cómo puedo convertir una marca de tiempo en un objeto Date o DateTime?
string timestamp to date java (3)
Estoy recuperando un objeto de marca de tiempo de una base de datos utilizando ResultSet.getTimestamp()
, pero me gustaría una forma fácil de obtener la fecha en el formato de MM/DD/YYYY
y la hora en un formato de HH:MM xx
. Estaba haciendo pequeños retoques, parece que puedo hacerlo haciendo uso de los objetos Date y / o DateTime dentro de Java. ¿Es esa la mejor manera de hacerlo o incluso necesito convertir la marca de tiempo para lograr esto? Cualquier recomendación sería útil.
....
while(resultSet.next()) {
Timestamp dtStart = resultSet.getTimestamp("dtStart");
Timestamp dtEnd = resultSet.getTimestamp("dtEnd");
// I would like to then have the date and time
// converted into the formats mentioned...
....
}
....
También puede obtener el objeto DateTime desde la marca de tiempo, incluido su horario de verano actual:
public DateTime getDateTimeFromTimestamp(Long value) {
TimeZone timeZone = TimeZone.getDefault();
long offset = timeZone.getOffset(value);
if (offset < 0) {
value -= offset;
} else {
value += offset;
}
return new DateTime(value);
}
java.sql.Timestamp
es una subclase de java.util.Date
. Por lo tanto, sólo upcast.
Date dtStart = resultSet.getTimestamp("dtStart");
Date dtEnd = resultSet.getTimestamp("dtEnd");
Usar SimpleDateFormat
y crear Joda DateTime
debería ser sencillo a partir de este momento.
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
Date date = new Date(timestamp.getTime());
// S is the millisecond
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy'' ''HH:mm:ss:S");
System.out.println(simpleDateFormat.format(timestamp));
System.out.println(simpleDateFormat.format(date));
}
}