我正在使用ResultSet.getTimestamp()
从数据库中检索时间戳对象,但是我想要一种简单的方法来获取MM/DD/YYYY
格式的日期和HH:MM xx
格式的时间。我一直在修修补补,看起来我可以通过在Java中使用Date和/或DateTime对象来做这些事情。这是最好的方法吗,或者我甚至需要转换时间戳来实现这一点?任何建议都会很有帮助。
....
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...
....
}
....
发布于 2011-09-21 06:17:09
java.sql.Timestamp
是java.util.Date
的一个子类。所以,把它往上扔就行了。
Date dtStart = resultSet.getTimestamp("dtStart");
Date dtEnd = resultSet.getTimestamp("dtEnd");
从现在开始,使用SimpleDateFormat
和创建Joda DateTime
应该很简单。
发布于 2011-09-21 06:35:57
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));
}
}
发布于 2016-11-10 21:27:14
您还可以从timestamp获取DateTime对象,包括您当前的夏令时:
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);
}
https://stackoverflow.com/questions/7492423
复制相似问题