java.sql.Timestamp构造函数如下所示:
public Timestamp(long time) {
super((time/1000)*1000);
nanos = (int)((time%1000) * 1000000);
if (nanos < 0) {
nanos = 1000000000 + nanos;
super.setTime(((time/1000)-1)*1000);
}
}
它基本上以毫秒为单位接受时间,然后提取最后3位数字并将其设置为毫微秒。因此对于1304135631 421
的毫秒值,我得到的Timestamp.getnanos()为 421000000 。这是简单的计算(最后添加6个零)…似乎不是最佳方法。
更好的方法是Timestamp构造函数,它接受以纳秒为单位的时间,然后从中计算出纳秒值。
如果运行下面的程序,您将看到实际纳秒与Timestamp计算纳秒的方式返回的纳秒之间的差。
long a = System.currentTimeMillis();
for(;;){
long b = System.currentTimeMillis();
Timestamp tm = new Timestamp(System.currentTimeMillis());
System.out.println(tm.getTime());
System.out.println(tm.getNanos());
System.out.println("This is actual nanos" + System.nanoTime()%1000000000);
System.out.println("--------------------------");
if(b-a >= 1)
break;
}
因此,所有有关Timestamp的讨论都表明它可以存储高达10 ns的时间,似乎并没有那么正确。不是吗?
以毫秒为单位的时间不代表以毫微秒为单位的时间。更确切地说,它根本不可能。您应该用来Timestamp#setNanos()
设置真正的纳米。
long timeInMillis = System.currentTimeMillis();
long timeInNanos = System.nanoTime();
Timestamp timestamp = new Timestamp(timeInMillis);
timestamp.setNanos((int) (timeInNanos % 1000000000));
// ...
本文向大家介绍PHP基于文件存储实现缓存的方法,包括了PHP基于文件存储实现缓存的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于文件存储实现缓存的方法。分享给大家供大家参考。具体如下: 在一些数据库数据记录较大,但是服务器有限的时候,可能一条MySQL查询就会好几百毫秒,一个简单的页面一般也有十几条查询,这个时候也个页面加载下来基本要好几秒了,如果并发量高的话服务器基本就瘫
我使用Apache IO FTPSClient在FTPS服务器上放置文档时遇到问题。我能够连接到服务器。我的状态很好(返回211)。如果我要求一个目录列表,我得到空。 我没有看到任何错误。我可以通过FileZilla连接到服务器。它在TLS上使用显式FTP。 感谢任何帮助。
本文向大家介绍PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】,包括了PHP基于PDO调用sqlserver存储过程通用方法【基于Yii框架】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于PDO调用sqlserver存储过程的方法。分享给大家供大家参考,具体如下: 由于业务这边存储过程一直在sqlserver上面,所以要用php去调用它,然而我们本地的是
图是一个好东西,能够使用图来模拟或解决很多生活问题,同时在各大比赛上都少不了有关于图的问题.图是关系与顶点与边的,那么我们该如何来存入图的信息呢? (1)直接存边 我们开一个数组,数组里每个元素是图的一条边。其中存的每一条边都包含这些信息:顶点 v 与 u , 边的权值。 这就用到结构体数组,对于无向图,只需要存两个顶点 , 有向图的话需要区分起点、终点。 // 直接存边 struct edg
本文向大家介绍Android用文件存储数据的方法,包括了Android用文件存储数据的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android用文件存储数据的具体代码,供大家参考,具体内容如下 存储数据示例: 从文件读取数据: 注意: 1. openFileOutput()方法有两个参数: 第一个是文件名,可以不包含路径,因为文件会默认存储到data/data/包名/fil
本文向大家介绍php执行多个存储过程的方法【基于thinkPHP】,包括了php执行多个存储过程的方法【基于thinkPHP】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php执行多个存储过程的方法。分享给大家供大家参考,具体如下: 从以前的使用原生代码来看,只需要将结果集关闭即可,即 使用mysqli方式,修改DbMysqli.class.php,将query函数改为: 下面就可以调