package org.apache.commons.net.ntp;
import java.io.Serializable;
import java.lang.ref.SoftReference;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class TimeStamp
implements Serializable, Comparable
{
public TimeStamp(long ntpTime)
{
this.ntpTime = ntpTime;
}
public TimeStamp(String s)
throws NumberFormatException
{
ntpTime = decodeNtpHexString(s);
}
public TimeStamp(Date d)
{
ntpTime = d != null ? toNtpTime(d.getTime()) : 0L;
}
public long ntpValue()
{
return ntpTime;
}
public long getSeconds()
{
return ntpTime >>> 32 & 4294967295L;
}
public long getFraction()
{
return ntpTime & 4294967295L;
}
public long getTime()
{
return getTime(ntpTime);
}
public Date getDate()
{
long time = getTime(ntpTime);
return new Date(time);
}
public static long getTime(long ntpTimeValue)
{
long seconds = ntpTimeValue >>> 32 & 4294967295L;
long fraction = ntpTimeValue & 4294967295L;
fraction = Math.round((1000D * (double)fraction) / 4294967296D);
long msb = seconds & 2147483648L;
if(msb == 0L)
return 2085978496000L + seconds * 1000L + fraction;
else
return -2208988800000L + seconds * 1000L + fraction;
}
public static TimeStamp getNtpTime(long date)
{
return new TimeStamp(toNtpTime(date));
}
public static TimeStamp getCurrentTime()
{
return getNtpTime(System.currentTimeMillis());
}
protected static long decodeNtpHexString(String s)
throws NumberFormatException
{
if(s == null)
throw new NumberFormatException("null");
int ind = s.indexOf('.');
if(ind == -1)
{
if(s.length() == 0)
return 0L;
else
return Long.parseLong(s, 16) << 32;
} else
{
return Long.parseLong(s.substring(0, ind), 16) << 32 | Long.parseLong(s.substring(ind + 1), 16);
}
}
分享到:
相关推荐
explicit_defaults_for_timestamp = 1 # 启用,表示明确的默认值 # 或 explicit_defaults_for_timestamp = 0 # 禁用,恢复旧的行为 ``` 然后重启MySQL服务以应用更改。 总结来说,理解`TIMESTAMP`和`explicit_...
SELECT journal_id, exh_id, exhibit_desc, exhibit_scope, hall_id, journal_sd, journal_ed FROM test.app_exhibition_test_timestamp1; ``` #### 问题分析 根据问题描述,可以推断出以下几点: - 源表中的...
在Oracle数据库中,`TIMESTAMP`与`DATE`两种数据类型是用于存储日期和时间信息的关键组成部分,但它们之间存在显著的区别,特别是在处理时间和精度方面。本文将深入探讨这两种数据类型的特点,以及如何在实际应用中...
ICMP timestamp请求响应漏洞 修复 Traceroute探测漏洞 修复 使用firewall-cmd打开关闭防火墙与端口 linux 7 ICMP timestamp请求响应漏洞 修复 Traceroute探测漏洞 修复 使用firewall-cmd打开关闭防火墙与端口 linux ...
我们认为,如果相邻值的差距在1到20个时钟周期那是一次普通的循环。如果差距很大,比如20000000个时钟周期就意味着在那段时间,该线程并没有被执行。 程序循环把从时钟计数器读取到的值填充到一个指定大小的数组。...
1. **Timestamp**:表示从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的秒数。这是一个浮点数,可以包含小数部分来表示毫秒或微秒级别的精度。在 Python 中,通常使用 `time` 模块中的 `time()` 函数来获取当前...
《Timestamp Camera Pro:时间戳照相机v1.218专业版详解》 在数字化时代,我们时常需要拍摄照片来记录重要时刻,而这些时刻往往伴随着特定的时间信息。Timestamp Camera Pro,这款时间戳照相机应用,正是为了满足...
文章目录Timestamptimestamp.go如何使用 ... int64 seconds = 1; int32 nanos = 2; } timestamp.go path: github.com/golang/protobuf/ptypes/timestamp.go package ptypes import ( errors fm
1. 使用 `Timestamp` 类:`System.out.println(new Timestamp(new java.util.Date().getTime()));`,输出结果包含时分秒。 2. 使用 `java.sql.Date` 类:`System.out.println(new java.sql.Date(new java.util.Date...
根据提供的标题、描述、标签及部分内容,我们可以了解到这段文本主要涉及Oracle数据库中处理时间戳(`TIMESTAMP`)的相关操作。接下来将详细解释这些内容所包含的关键知识点。 ### 关键知识点解析 #### 1. `...
`token`、`timestamp`和`sign`这三者是常见的安全机制,用于确保数据的完整性和防止中间人攻击。下面将详细阐述它们的作用和实现方式。 `Token`,通常指访问令牌,是一种身份验证机制。在API交互中,客户端(如移动...
- **时间运算**:Timestamp对象可以直接进行加减运算,例如`timestamp1 + timedelta`或`timestamp1 - timestamp2`,其中`timedelta`是时间间隔。 - **比较操作**:Timestamp对象可以进行比较操作,如`>`、`、`==`...
1. 数据库设计:首先,在数据库表中为需要保护的字段添加一个Timestamp(在SQL Server中称为rowversion)列。这个列会自动随着每次记录更新而改变,提供了一种检测记录是否被修改的机制。 ```sql CREATE TABLE ...
在C#编程中,SQL Server的时间戳(TimeStamp)字段是一个特殊的数据类型,它与我们通常理解的日期时间无关,而是用来记录数据行的版本或更改信息。本文将深入探讨如何在C#中读取和更新SQL Server中的Timestamp字段。...
Oracle的Timestamp with Time Zone类型与Java的交互是数据库编程中一个重要的知识点,特别是在处理跨越时区的数据时。本文将深入探讨这两个概念以及它们在实际应用中的互动。 Oracle的Timestamp with Time Zone类型...
TimeStamp(用java实现时间戳)
1. Timestamp转Date 在数据库中,我们经常使用Timestamp类型来存储时间数据。当我们从数据库中读取数据时,通常使用ResultSet来获取数据。在这种情况下,我们可以使用getTimestamp()方法来获取Timestamp类型的数据...
其中,`unit`是时间单位(如SECOND, MINUTE, HOUR, DAY等),`timestamp1`和`timestamp2`分别是你要比较的两个timestamp。例如,计算两个时间戳之间的秒数差: ```sql SELECT TIMESTAMPDIFF(SECOND, '2022-01-01 ...
"Java中将String类型转换成Timestamp类型" 在Java编程语言中,String类型和Timestamp类型是两种不同的数据类型,前者用于存储字符串数据,而后者用于存储时间戳数据。然而,在实际开发中,我们经常需要将String类型...
oracle timestamp详解 将常用的转换方法及使用注意事项都罗列出来了