[20170825]2038.txt

[20170825]2038.txt

--//昨天帮别人解决电脑问题联想到的,对方是主机电池没电,导致启动XP黑屏,重新设置正确的时间后ok.
--//这样我想到除了2000年外的2038年的问题,大家知道类unix的os系统计时从'1970/1/1'开始的秒数.
--//因为符号整形最大是2^31-1=2147483647秒.

SYS@book> select to_date('1970/1/1','yyyy-mm-dd') + 2147483647/86400 from dual ;
TO_DATE('1970/1/1',
-------------------
2038-01-19 03:14:07

--//也就是到这个时间后涉及到许多设备也许手机,os,交换机等许多设备的系统时间也许都会被重置.
--//我记得OO曾经在海区发过类似的帖子,当时在我看来我那个时候已经退休...^_^.

--//顺便学习linux的data命令.

--//%s 显示秒数.
$ date +"%s %Y-%m-%d %T"
1503648237 2017-08-25 16:03:57

--//反过来如果知道秒数,如何显示时间能,google...

$ date -d "1970-01-01 00:00:00 UTC 1503648237 seconds" +"%Y-%m-%d %T"
2017-08-25 16:03:57

$ date -d "1970-01-01 00:00:00 UTC 2147483647 seconds" +"%Y-%m-%d %T"
2038-01-19 11:14:07
--//时区问题,相差8个小时.

$ date -d "1970-01-01 00:00:00  2147483647 seconds" +"%Y-%m-%d %T"
2038-01-19 03:14:07

$ date -d "1970-01-01 00:00:00  3147483648 seconds" +"%Y-%m-%d %T"
2069-09-27 05:00:48

$ date -d "1970-01-01 00:00:00  1113147483648 seconds" +"%Y-%m-%d %T"
37244-03-28 10:20:48

--//不过好像date命令不受影响.但愿我多虑了....

--//另外如果开启10046跟踪,里面的tim记录的'1970/1/1'开始的秒数乘以1000000.
*** 2017-08-24 11:06:59.156
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
WAIT #140568569128584: nam='SQL*Net message from client1' ela= 10215533 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1503544019156541
CLOSE #140568569128584:c=0,e=8,dep=0,type=1,tim=1503544019156653
=====================
PARSING IN CURSOR #140568569243528 len=17 dep=0 uid=83 oct=3 lid=83 tim=1503544019156841 hv=1745700775 ad='61c8f7a0' sqlid='a2dk8bdn0ujx7'
select * from emp
END OF STMT
PARSE #140568569243528:c=0,e=133,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=3956160932,tim=1503544019156835
EXEC #140568569243528:c=0,e=59,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,plh=3956160932,tim=1503544019157002
WAIT #140568569243528: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1503544019157076
FETCH #140568569243528:c=0,e=99,p=0,cr=6,cu=0,mis=0,r=1,dep=0,og=1,plh=3956160932,tim=1503544019157226
WAIT #140568569243528: nam='SQL*Net message from client' ela= 827 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1503544019158106
WAIT #140568569243528: nam='SQL*Net message to client' ela= 2 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1503544019158198
FETCH #140568569243528:c=0,e=61,p=0,cr=1,cu=0,mis=0,r=7,dep=0,og=1,plh=3956160932,tim=1503544019158238
WAIT #140568569243528: nam='SQL*Net message from client' ela= 619339 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1503544019777623
WAIT #140568569243528: nam='SQL*Net message to client' ela= 3 driver id=1413697536 #bytes=1 p3=0 obj#=-1 tim=1503544019777726
FETCH #140568569243528:c=0,e=86,p=0,cr=1,cu=0,mis=0,r=6,dep=0,og=1,plh=3956160932,tim=1503544019777787
STAT #140568569243528 id=1 cnt=14 pid=0 pos=1 obj=87108 op='TABLE ACCESS FULL EMP (cr=8 pr=0 pw=0 time=89 us cost=3 size=532 card=14)'

--//例子tim=1503544019156541测试:

SYS@book> select to_date('1970/1/1','yyyy-mm-dd') + 1503544019156541/1e6/86400 from dual ;
TO_DATE('1970/1/1',
-------------------
2017-08-24 03:06:59

--//^_^,没有考虑时区.注意看下划线部分.而且丢失秒的精度,换成如下:
SYS@book> select to_timestamp('1970/1/1','yyyy-mm-dd') + 1503544019156541/1e6/86400 from dual ;
TO_TIMESTAMP('1970/
-------------------
2017-08-24 03:06:59

--//呃还是转换date类型.写成如下ok:

SYS@book> select to_timestamp('1970/1/1','yyyy-mm-dd') +  NUMTODSINTERVAL(1503544019156541/1e6,'SECOND') from dual ;
TO_TIMESTAMP('1970/1/1','YYYY-MM-DD')+NUMTODSINTERVAL(1503544019156541/1E6,
---------------------------------------------------------------------------
2017-08-24 03:06:59.156541000

时间: 2024-10-23 20:16:16

[20170825]2038.txt的相关文章

[20170825]11G备库启用DRCP连接3.txt

[20170825]11G备库启用DRCP连接3.txt --//昨天测试了11G备库启用DRCP连接,要设置alter system set audit_trail=none scope=spfile ; --//参考链接http://blog.itpub.net/267265/viewspace-2144036/. --//在测试过程中我遇到1个奇怪问题,就是如果主库没有打开drcp,备库执行exec dbms_connection_pool.start_pool();失败. --//今天分

[20170825]不启动监听远程能连接数据库吗2

[20170825]不启动监听远程能连接数据库吗2.txt --//曾经写过一篇不启动监听连接数据库的帖子:http://blog.itpub.net/267265/viewspace-1816211/ --//利用共享服务器模式. --//昨天测试备库启动drcp,突然想到这个跟共享模式有一些类似.自己也测试看看. 1.环境: SYS@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ---------

[20171204]nc快速判断端口是否打开2.txt

[20171204]nc快速判断端口是否打开2.txt --//前几天写了一篇通过nc快速判断打开那些端口,链接如下: http://blog.itpub.net/267265/viewspace-2148121/ --//如果要判断一定的范围,可以执行如下: $ echo a | nc -w 1 -n -v  192.168.xxx.xx 1-1521 2>/dev/null | grep "succeeded" Connection to 192.168.xxx.xx 21

wince下,使用C# ,把数据写入txt文件中

问题描述 wince下,使用C# ,把数据写入txt文件中 各位高手大家好,我在wince下,使用C# ,把数据写入txt文件中,所有的代码都执行完成,也没有发生任何错误,但是我打开txt里面是空白的,没有任何数据,不知其解,望高手不吝指教,谢谢.写入txt的代码如下: FileStream fs = null; StreamWriter sw = null; try { fs = new FileStream(fileName, FileMode.Append, FileAccess.Writ

教你快速将多个TXT文档合并成一个

网上下载的文件常常会分割成好几个文件,阅读起来非常不便,本教程为大家介绍如何快速将多个txt文件合并. 文档合并成一个-快速合并word文档"> 同时选定需要合并的txt文档进行压缩 步骤1:首先选中需要合并的多个TXT文档,然后单击鼠标右键,在弹出的菜单中选中"Win-RAR-添加到压缩文件"命令,这时会出现"压缩文件名和参数"窗口,在"常规"标签页中对压缩文件进行命名,并将"压缩方式"下拉框中的"

txt文件-c++如何控制文件输出的行数?

问题描述 c++如何控制文件输出的行数? 我有一个几千行的txt文件,里面都是ascall字符,我想每次读取30行在控制台显示然后清屏,延迟0.1s后再输出接下来的30行,也就是第一次控制台输出1-30行,清屏,第二次输出31-60行,这样一直下去,直到文件末尾 1. 我希望在每次在控制台显示的时候一次性显示30行的字符,必须一次性显示30行,肉眼不能察觉到是一行一行显示出来的. 解决方案 自己做个计数就好了,30行后,计数清零,重新计数 解决方案二: #include #include #in

如何在java中实现读取一个txt文档中的随机一行

问题描述 如何在java中实现读取一个txt文档中的随机一行 如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取 解决方案 根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是 集合进行随机的访问.这样一来就解决了 解决方案二: 文本文件只能顺序读,不能随机读.你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行 解决方案三: http:

Word文档批量转换成TXT格式的技巧

使用Word编辑文档的时候,不仅可以保存成Word格式,也可以保存为其它格式.但有的时候需要将大批的已经编辑完成的Word文档转换成文本格式或其他格式文档,怎么办?如果通过"另存为"将是一件十分费时费力的事情. 可能有人说了利用第三方工具软件吧,那是另一话题.在这里笔者要告诉大家的是:批量转换文档格式不求"人",完全可以借助Word本身自带的功能就可以完成批量转换文档格式的工作.为了叙述方便,专家以将Word文档格式批量转换成TXT文本格式为例来介绍其转换过程,具体

C++ 怎么向一个txt文件的指定位置添加文本而不覆盖原有的内容?

问题描述 C++ 怎么向一个txt文件的指定位置添加文本而不覆盖原有的内容? 比如说有一个有文本的txt文件,我要在文本中间添加新文本,怎么做才能不覆盖原来的文本? 解决方案 文件追加,append 解决方案二: http://wenwen.sogou.com/z/q553022171.htmhttp://bbs.csdn.net/topics/390533611 这里有两个链接你看看对你有没有帮助 解决方案三: 以append方式打开 如果是想在一段内容中插入新的内容,就必须先保留插入位置以后