`
san_yun
  • 浏览: 2663185 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

timestamp深入分析

    博客分类:
  • date
 
阅读更多

一.基本操作

最近看到组内对timestamp的操作,非常有技巧。

先看一个标准的timestamp,2014-01-05 15:57:27的timestamp:

1388908647148

timestamp一共由13位数字组成,拆分一下:

1388908,647,148

其中末尾3位表示毫秒,比如上面表示148ms,中间8647表示多少秒。

 

1. 1388908647148/1000=1388908647得到基于秒的timestamp。

2. 1388908647-3600=1388905047,可以得到上一个小时的timestamp(14:57:27)。

3. 1388908647-60=1388908587,可以得到上一分钟的timestamp(15:56:27)。

4. 1388908647%3600=3447,可以得到当前timestamp属于这个小时中的第几秒。

5. 1388908647-1388908647%3600=1388905200,可以得到基于小时的timestamp

问题

下面两个timestamp相差多少呢?

1388908,000,000

1388909,000,000

答案是相差1000秒。验证一下,分别转换为Date:15:46:40,16:03:20。1000秒等于16分钟+40秒,吻合。

 

二.基于时间粒度(base time interval)

时间序列统计要求我们基于某个时间粒度为聚合计算,比如按照1秒,10秒,60等。这样时间实际被分成一个小块,如果按照10秒,那一分钟有60个快,对于任意一个timestamp应该如何转换成某个时间粒度的时间呢?

 

long current_time = System.currentTimeMillis();

long intervalInMillis=5000;

 

(current_time/intervalInMillis)*intervalInMillis实际上就得到时间粒度的时间。

分享到:
评论

相关推荐

    oracle --timestamp

    如果想要更进一步地分析时间间隔的组成部分,可以使用`SUBSTR`函数来提取小时、分钟等信息: ```sql SELECT SUBSTR((T2 - T1), INSTR((T2 - T1), ' ') + 7, 2) SECONDS, SUBSTR((T2 - T1), INSTR((T2 - T1), ' ') +...

    关于Hinbernate中TimeStamp类型字段处理的小例子

    本文将详细探讨在Hibernate中处理Timestamp类型字段的一些关键知识点,结合给出的"关于Hibernate中Timestamp类型字段处理的小例子"的标题,我们将深入理解Timestamp类型的特性和在Hibernate中的使用。 1. **...

    Timestamp 源码_采集_标记时间_labview_

    下面我们将深入探讨LabVIEW中的时间戳、数据采集以及如何实现时间标记。 首先,理解时间戳的概念。时间戳是一个数字值,表示从一个固定参考点(通常是1970年1月1日的午夜)到当前时间的秒数。在LabVIEW中,时间戳...

    杂项源代码TimeStamp.zip_timestamp

    在软件开发中,时间戳的处理是非常常见的需求,例如在日志记录、数据分析、服务器通信、用户行为追踪等领域都有其应用。 压缩包内的两个文件 "TimeStamp.exe" 和 "www.pudn.com.txt" 可能分别代表一个编译好的可...

    MySQL中datetime和timestamp的区别及使用详解

    本文将深入探讨这两种数据类型的差异以及如何在实际应用中选择合适的类型。 1. 表示当前时间的方法: MySQL提供了多种获取当前日期和时间的方法,包括CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()、NOW()、LOCALTIME、...

    时间戳与时间互换精确到毫秒

    在IT领域,时间戳与时间的转换是常见的操作,尤其在数据分析、日志记录和系统时间同步等场景中。本文将深入探讨如何在毫秒级别上进行这种转换,并结合开源库"SanYe"来理解其背后的实现原理。 时间戳是一个表示特定...

    TimeStamp:生成时间戳。-matlab开发

    在MATLAB中,生成时间戳是一项常见的任务,特别是在记录数据、日志或创建有时间标记的文件时。...在压缩包`timestamp.zip`中,可能包含了示例代码或者进一步的教程,帮助你深入理解如何在实际项目中应用这些知识。

    Jdbc深入分析

    ### Jdbc深入分析 #### 一、JDBC概述与应用场景 **1.1 JDBC概念** JDBC(Java Database Connectivity)是Java中用来对关系型数据库进行访问的一种标准API,它提供了一种统一的方式去访问不同的数据库系统。通过...

    python时间序列数据转为timestamp格式的方法

    本文将深入探讨如何将Python中的时间序列数据转换为timestamp格式,这对于数据分析、数据清洗以及时间序列分析(如趋势分析、周期性检测等)至关重要。 首先,我们需要了解时间序列数据的基本概念。时间序列数据是...

    Delphi时间戳算法解决兼容问题完整版

    本文将深入探讨如何在Delphi中处理时间戳,尤其是针对不同操作系统(如WinXP、Win7和Win10)的兼容性问题,以及解决时区和夏令时的影响。 标题"Delphi时间戳算法解决兼容问题完整版"暗示了我们关注的重点是Delphi中...

    解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别

    本文将深入探讨MySQL中的UNIX_TIMESTAMP()函数与PHP中的time()函数之间的差异。 MySQL的UNIX_TIMESTAMP()函数是一个非常实用的工具,它能将日期或时间转换为自1970年1月1日00:00:00 GMT以来的秒数。无参数调用时,...

    timestamp_microservice

    通过对以上各个部分的深入理解和分析,我们可以全面了解这个timestamp_microservice的工作原理,以及如何扩展和维护它。这个微服务的源码分析对于学习Node.js开发和理解微服务架构具有很高的价值。

    深入分析javascript中console命令

    本文将深入分析JavaScript中`console`命令的一些主要功能。 一、显示信息的命令 `console.log()`是最常用的命令,用于在控制台输出文本信息。例如: ```javascript console.log('hello'); ``` 此外,`console.info...

    数据分析案例之淘宝用户行为分析完整报告.pdf

    在电子商务领域,尤其是像淘宝这样的大型在线购物平台,对用户行为的深入分析是优化用户体验、提高转化率和销售额的关键。本案例以淘宝用户行为数据为研究对象,旨在通过数据分析提供更精准的用户反馈,促进用户更快...

    基于Discuz security.inc.php代码的深入分析

    本文将深入分析该文件的代码,探讨它如何提高论坛的安全防护级别。 首先,代码段的开头部分声明了版权声明和许可信息,这部分信息虽然对程序运行无直接影响,但对于遵守许可协议和尊重版权是至关重要的。 ```php ...

    Mysql中时间戳转为Date的方法示例

    在MySQL数据库中,时间戳与日期之间的转换是常见的操作,特别是在处理日志系统或需要对时间数据进行分析的场景下。本篇文章将详细介绍如何在MySQL中将时间戳转换为日期,以及日期转换回时间戳的方法。 1. **时间戳...

    Hadoop源码分析 完整版 共55章

    #### 五、深入分析MapReduce - **MapReduce章节**:MapReduce部分共14章,这部分将详细介绍MapReduce的工作原理、任务调度机制、数据流处理等方面的知识。 - **MapReduce工作流程**:MapReduce框架主要包括Map阶段...

    timestamp:免费代码营项目时间戳

    这个项目对于初学者来说非常有价值,因为它涵盖了Go语言中时间处理的基础知识,这对于任何需要记录或分析时间数据的项目都是至关重要的。通过实践,用户可以更深入地理解时间戳的概念以及如何在代码中有效地使用它们...

    timestamp-microservice:FreeCodeCamp的时间戳微服务挑战

    在"timestamp-microservice-gomix"这个文件中,包含了项目的源代码和配置,通过阅读和分析这些代码,可以深入理解上述知识点的实际应用。实践该项目,不仅能提升JavaScript和全栈开发能力,也有助于准备FreeCodeCamp...

Global site tag (gtag.js) - Google Analytics