首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将时间戳转换为Date或DateTime对象?

如何将时间戳转换为Date或DateTime对象?
EN

Stack Overflow用户
提问于 2011-09-21 06:13:22
回答 4查看 105K关注 0票数 20

我正在使用ResultSet.getTimestamp()从数据库中检索时间戳对象,但是我想要一种简单的方法来获取MM/DD/YYYY格式的日期和HH:MM xx格式的时间。我一直在修修补补,看起来我可以通过在Java中使用Date和/或DateTime对象来做这些事情。这是最好的方法吗,或者我甚至需要转换时间戳来实现这一点?任何建议都会很有帮助。

代码语言:javascript
复制
....
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...
    ....
}
....
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-09-21 06:17:09

java.sql.Timestampjava.util.Date的一个子类。所以,把它往上扔就行了。

代码语言:javascript
复制
Date dtStart = resultSet.getTimestamp("dtStart");
Date dtEnd = resultSet.getTimestamp("dtEnd");

从现在开始,使用SimpleDateFormat和创建Joda DateTime应该很简单。

票数 17
EN

Stack Overflow用户

发布于 2011-09-21 06:35:57

代码语言:javascript
复制
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));
    }
}
票数 24
EN

Stack Overflow用户

发布于 2016-11-10 21:27:14

您还可以从timestamp获取DateTime对象,包括您当前的夏令时:

代码语言:javascript
复制
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);
}    
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7492423

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档