如何在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(通常是数据库的情况)。如果您的时间戳位于不同的时区,请更改toDate
statement的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;