本篇文章给大家谈谈java时间戳的类,以及java 时间戳 时区对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、请问Java怎么获得当前时间戳,要int型的不要long的!2、java 中的Date和Timestamp的区别3、求助!java中关于时间戳Timestamp的问题4、Java:要实现记录当前时间为yyyymmddhhmissfff的时间戳该如何简单实现呢=。=5、java中将string类型转换成timestamp类型6、JAVA获取时间戳,哪个更快
请问Java怎么获得当前时间戳,要int型的不要long的!
PHP 的 time() 函数返回的结果是 Unix 时间戳,值的单位是秒;
Java 中 System.currentTimeMillis() 返回的结果,值的单位是毫秒。
那么很容易就知道,除以 1000 就行了嘛:
int seconds = System.currentTimeMillis() / 1000;
java 中的Date和Timestamp的区别
Timestamp是一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。
注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,Timestamp.equals(Object) 方法永远不会返回 true,因为日期的毫微秒组件是未知的。因此,相对于 java.util.Date.equals(Object) 方法而言,Timestamp.equals(Object) 方法是不对称的。此外,hashcode 方法使用基础 java.util.Date 实现并因此在其计算中不包括毫微秒。
鉴于 Timestamp 类和上述 java.util.Date 类之间的不同,建议代码一般不要将 Timestamp 值视为 java.util.Date 的实例。Timestamp 和 java.util.Date 之间的继承关系实际上指的是实现继承,而不是类型继承。
求助!java中关于时间戳Timestamp的问题
GregorianCalendar gcal = new GregorianCalendar(); // 获得当前时间
// 设定格式yyyy-mm-dd hh:mm:ss
DateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
Date date = gcal.getTime(); // 将当前时间转成日期对象
String datetime = df.format(date); // 获得符合格式的字符串,当前日期时间
int index = datetime.indexOf(” “);
String selectday = datetime.substring(0, index); // 当前日期
// 将当前日期换成Timestamp对象
// string的类型必须形如: yyyy-mm-dd hh:mm:ss[.f…] 这样的格式,中括号表示可选,// 否则报错!!!
Timestamp nowdatetime = Timestamp.valueOf(datetime);
Java:要实现记录当前时间为yyyymmddhhmissfff的时间戳该如何简单实现呢=。=
时间戳通常是”yyyyMMddHHmmssSSS“的,举例:
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat(“yyyyMMddHHmmss”);
String str = sdf.format(date);
输出结果:20150704173752。
备注:时间戳中的时间显示格式可以根据实际情况设置即可。
纠正下,没有fff,有的是SSS,表示毫秒。
java中将string类型转换成timestamp类型
可以通过以下方法实现:
Date date1 = new Date();//获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String str = sdf.format(date1);//时间存储为字符串
System.out.println(str);
Timestamp.valueOf(str);//转换时间字符串为Timestamp
System.out.println(Timestamp.valueOf(str));//输出结果
备注:上面的几步是为了确保字符串是时间类型,自己定义相应的字符串类型即可
JAVA获取时间戳,哪个更快
//方法 一
System.currentTimeMillis();
//方法 二
Calendar.getInstance().getTimeInMillis();
//方法 三
new Date().getTime();
最近做监控系统,发现代码中有前两种方法,然后突然有了一个想法,到底哪个更快呢?
然后做了如下实验:
import java.util.Calendar;
import java.util.Date;
public class TimeTest {
private static long _TEN_THOUSAND=10000;
public static void main(String[] args) {
long times=1000*_TEN_THOUSAND;
long t1=System.currentTimeMillis();
testSystem(times);
long t2=System.currentTimeMillis();
System.out.println(t2-t1);
testCalander(times);
long t3=System.currentTimeMillis();
System.out.println(t3-t2);
testDate(times);
long t4=System.currentTimeMillis();
System.out.println(t4-t3);
}
public static void testSystem(long times){//use 188
for(int i=0;itimes;i++){
long currentTime=System.currentTimeMillis();
}
}
public static void testCalander(long times){//use 6299
for(int i=0;itimes;i++){
long currentTime=Calendar.getInstance().getTimeInMillis();
}
}
public static void testDate(long times){
for(int i=0;itimes;i++){
long currentTime=new Date().getTime();
}
}
}
因为很简单我就不加注释了,每种方法都运行1千万次,然后查看运行结果
Java代码 收藏代码
187
7032
297
结果发现 System.currentTimeMillis() 这种方式速度最快
Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,看看源码会发现,Canlendar因为要处理时区问题会耗费很多的时间。
所以建议多使用第一种方式。
另,System 类中有很多高效的方法,比如,arrayCopy 之类的
关于java时间戳的类和java 时间戳 时区的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。