Tag: 时间戳

如何从日历中获取UTC时间戳?

在Java中我使用Calendar.getInstance(); 我得到了当前时区的Calendar对象。 但java.sql.Timestamp通常以UTC时间存储,而不是以本地时间存储。 那么如何从Calendar实例获取UTC时间? DateFormat df = DateFormat.getTimeInstance(); Calendar cal = Calendar.getInstance(); Timestamp time = new Timestamp(cal.getTimeInMillis()); // Prints local time System.out.println(df.format(new Date(time.getTime()))); // Printe local time, but I want UTT Time System.out.println(“timestamp: ” + time);

在Java中创建唯一的时间戳

我需要在Java中创建一个时间戳(以毫秒为单位),该时间戳保证在该特定VM实例中是唯一的。 我需要一些方法来限制System.currentTimeMillis()的吞吐量,这样它每ms最多返回一个结果。 关于如何实现的任何想法?

Java:如何在Timestamp中添加秒数?

我无法在Java Timestamp中添加秒数。 我有这个,但它给了我相同的日期: int sec = 600; java.sql.Timestamp ts_from_ws = new java.sql.Timestamp(retry_date); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(ts_from_ws.getTime()); cal.add(Calendar.SECOND,sec); java.sql.Timestamp ts_new_date_ws = new java.sql.Timestamp(cal.getTime().getTime());

java.util.Date到java.sql.Date不包含Time

我在PreparedStatement上遇到SqlException ,因为它违反了表(dupe key)上的唯一性约束。 基本上我的表看起来像这样: mytable ======= mytable_id PRIMARY KEY INT NOT NULL fizz_id INT NOT NULL buzz_timestamp DATETIME 唯一性约束在buzz_timestamp ; 也就是说,没有2条记录可能具有相同的日期/时间“timestamp”。 将记录插入此表的PreparedStatement如下所示: PreparedStatement ps = conn.prepareStatement(insertQuery); ps.setDate(1, new java.sql.Date(new java.util.Date().getTime())); 所以你可以看到我正在使用java.util.Date() (“now”)并将其转换为java.sql.Date实例。 我看到的确切错误(欺骗密钥)一直在抱怨我正在尝试将2015-05-27 00:00:00.0000000插入到buzz_timestamp的表中,但它已经存在。 所以,显然,我使用的是Date API错误,并且我正在插入具有已淘汰时间组件的日期,从而产生欺骗性密钥exception。 所以我问: 我如何纠正这一点,以便我真正插入“现在”的日期和时间?

从字符串转换为TimeStamp数据类型

我想将此转换:17:26:54转换为TimeStamp数据类型。 我需要将它输入数据库。 我该怎么做呢? 我有一个字符串变量中的数据我正在使用java。 我从另一个源中提取这些数据,我需要将其推送到数据库,其中时间戳的列被定义为TimeStamp类型。 我正在使用JDBC将数据从java程序推送到MySQL。 所以我需要一个解决方案将字符串:17:26:54转换为timeStamp数据类型,以便可以将其输入数据库而不会抛出sqlexception错误。 编辑:我不需要timeStamp的日期部分,因为我不会在我的计算中的任何地方使用它,也不能从生成时间信息的源中提取它。

从时间戳剥离时间

为什么我不能通过这种方式从时间戳中清除时间: one day == 24 * 3600 * 1000 == 86400000 milliseconds. long ms = new Date().getTime(); //Mon Sep 03 10:06:59 CEST 2012 Date date = new Date(ms – (ms % 86400000)); 怎么来这是Mon Sep 03 02:00:00 CEST 2012而不是Mon Sep 03 00:00:00 CEST 2012 ?

如何为时间戳添加时间?

我需要在arrays中的未知时间添加14分59秒。 我该怎么做呢? 这是我到目前为止: Date duration = df.parse(“0000-00-00 00:14:59”); arrayOpportunity[2] = arrayOpportunity[2] + duration; 时间没有改变。 谢谢! 我做了我的研究。 我不能粘贴我的整个代码。 但主要是我不想让你读完这一切。 只是寻找一个如何添加两个时间戳的简单答案。

获取java类的编译时间戳

是否可以为本地运行的Java应用程序以及applet和/或JNLP webapps可靠地确定给定类的编译时间戳?

如何将String时间戳转换为java.sql.Timestamp?

我有时间戳的字符串格式为“星期四,2017年2月23日04:56:38 GMT”。 那么,如何将此字符串时间戳转换为“2017-02-23 04:56:38.0”格式。 我尝试将字符串格式的java转换日期链接到时间戳 。 但面临转换错误。 我的示例代码如下。 String str = “Thu, 23 Feb 2017 04:56:38 GMT”; SimpleDateFormat sdf1 = new SimpleDateFormat(“EEE, dd MMM yyyy hh:mm:ss a”); Date date = null; try { date = (Date) sdf1.parse(str); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(“Date Object:” + date); SimpleDateFormat sdf2 […]

System.nanoTime()是否在线程间保持一致?

我想计算两个事件之间经过的时间,以纳秒为单位。 为此,我可以使用此处提到的System.nanoTime() 。 问题是这两个事件发生在不同的线程中。 由于nanoTime()不返回绝对时间戳,而只能用于计算时间差 ,我想知道我在两个不同线程上得到的值是否与两个事件之间经过的物理时间一致。