如何在Java中将TimeStamp转换为Date?

来源:爱站网时间:2021-09-11编辑:网友分享
在java中获取计数后如何将'timeStamp'转换为日期?我当前的代码如下:public class GetCurrentDateTime {public int data(){int count = 0; java.sql中....

问题描述


在java中获取计数后如何将'timeStamp'转换为date

我目前的代码如下:

public class GetCurrentDateTime {

    public int data() {
        int count = 0;
        java.sql.Timestamp timeStamp = new Timestamp(System.currentTimeMillis());
        java.sql.Date date = new java.sql.Date(timeStamp.getTime()); 
        System.out.println(date);
        //count++;

        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pro", "root", "");

            PreparedStatement statement = con.prepareStatement("select * from orders where status='Q' AND date=CURDATE()");
            ResultSet result = statement.executeQuery();
            while (result.next()) {
                // Do something with the row returned.
                count++; //if the first col is a count.
            }
        } catch (Exception exc) {
            System.out.println(exc.getMessage());
        }

        return count;
    }
}

这是我的数据库:

我得到的输出是2012-08-07 0,但等效查询返回3.为什么我得到0?

思路一:


只需使用标记的Date值作为参数创建一个新的getTime()对象。

这是一个例子(我使用当前时间的示例时间戳):

Timestamp stamp = new Timestamp(System.currentTimeMillis());
Date date = new Date(stamp.getTime());
System.out.println(date);

思路二:


在Android中,它非常简单。使用Calendar类来获取currentTimeMillis。

Timestamp stamp = new Timestamp(Calendar.getInstance().getTimeInMillis());
Date date = new Date(stamp.getTime());
Log.d("Current date Time is   "  +date.toString());

在Java中,只需使用System.currentTimeMillis()获取当前时间戳

思路三:


我觉得有必要回应,因为其他答案似乎是时区不可知的,这是现实世界的应用程序无法承受的。要在时间戳和JVM使用不同时区时使时间戳到最新的转换正确,您可以使用Joda Time的LocalDateTime(或Java8中的LocalDateTime),如下所示:

Timestamp timestamp = resultSet.getTimestamp("time_column");
LocalDateTime localDateTime = new LocalDateTime(timestamp);
Date trueDate = localDateTime.toDate(DateTimeZone.UTC.toTimeZone());

下面的示例假定时间戳是UTC(通常是数据库的情况)。如果您的时间戳位于不同的时区,请更改toDatestatement的timezone参数。

思路四:


尝试使用这个java代码:

enter code here 

  Timestamp stamp = new Timestamp(System.currentTimeMillis());
  Date date = new Date(stamp.getTime());
  DateFormat f = new SimpleDateFormat("yyyy-MM-dd");
  DateFormat f1 = new SimpleDateFormat("yyyy/MM/dd");
  String d=f.format(date);
  String d1=f1.format(date);
  System.out.println(d);
  System.out.println(d1);

思路五:


假设你有一个预先存在的java.util.Date date

Timestamp timestamp = new Timestamp(long);
date.setTime( l_timestamp.getTime() );

思路六:


您可以使用此方法从特定区域的时间戳和时区获取日期。

public String getDayOfTimestamp(long yourLinuxTimestamp, String timeZone) {
    Calendar cal = Calendar.getInstance();
    cal.setTimeInMillis(yourLinuxTimestamp * 1000);
    cal.setTimeZone(TimeZone.getTimeZone(timeZone));
    Date date = cal.getTime();
}

思路七:


String timestamp="";
Date temp=null;
try {
    temp = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(getDateCurrentTimeZone(Long.parseLong(timestamp)));
} catch (ParseException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
int dayMonth=temp.getDate();
int dayWeek=temp.getDay();
int hour=temp.getHours();
int minute=temp.getMinutes();
int month=temp.getMonth()+1;
int year=temp.getYear()+1900;

上一篇:在Java中使用char作为无符号16位值?

下一篇:我的程序发现错误,我不知道如何解决

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载