标签: unix-timestamp

如何在mysql查询中选择UNIX date ="2010"?

到目前为止,这是我的代码:

SELECT `date`, title, category, url
FROM cute_news
WHERE category = '4'
ORDER BY `date` DESC
Run Code Online (Sandbox Code Playgroud)

我想根据年份制作页面,如2010年,2009年,2008年等.数据库将日期保存为UNIX_Timestamp.不确定如何使用Year参数查询记录集?

WHERE unix_timestamp(YEAR) = '2010' or something???
Run Code Online (Sandbox Code Playgroud)

提前致谢.我很困惑.

mysql unix-timestamp

5
推荐指数
1
解决办法
568
查看次数

1970年之前的日期有什么特别之处?

我看到很多关于获取1970年之前的日期的讨论.例如,我看到人们问一个问题,"如何在1970年之前获得约会?"

我想知道1970年的特别之处是什么?为什么人们在特定年份之前难以获得日期?它是宇宙的开始还是什么?

language-agnostic time timestamp epoch unix-timestamp

5
推荐指数
1
解决办法
498
查看次数

Objective-C:帮助我将时间戳转换为格式化的日期/时间

我真的很难将这个时间戳转换为一个很好的格式化日期字符串.

这是时间戳:"1316625985"

这是我做的功能:

-(NSString*)timestamp2date:(NSString*)timestamp{
    NSString * timeStampString =timestamp;
    //[timeStampString stringByAppendingString:@"000"];   //convert to ms
    NSTimeInterval _interval=[timeStampString doubleValue];
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:_interval];
    NSDateFormatter *_formatter=[[NSDateFormatter alloc]init];
    [_formatter setDateFormat:@"dd/MM/yy"];
    return [_formatter stringFromDate:date];
}
Run Code Online (Sandbox Code Playgroud)

麻烦的是,它在1972年保持返回日期!(31/7/72)这是错误的,因为它是2011年9月的日期......

有谁能建议任何解决方案?

提前谢谢了,

timestamp objective-c unix-timestamp

5
推荐指数
3
解决办法
2万
查看次数

gmtime算法的最小实现?

有没有人知道一个简单的gmtimectime实现没有考虑时区,没有外部依赖,和非Copyleft许可(BSD/MIT /任何专有安全)?最好是在C中,但基本上任何以最小形式给出算法的东西都可以工作.

我只需要秒,因为"1970年1月1日00:00:00"分解为年,日,月,小时,分钟,秒.现在几乎是星期五回家的时间,所以我感觉有点懒.

c c++ unix-timestamp

5
推荐指数
2
解决办法
4270
查看次数

PostgreSQL中的FROM_UNIX备用

伙计们,我已经在我的MySQL数据库中存储了unix时间戳,我正在使用MySQL函数读取它们FROM_UNIX()

现在,我将数据库从MySQL迁移到PostgreSQL。在PostgreSQL中,如何像在MySQL中那样读取unix时间戳FROM_UNIX()

postgresql unix-timestamp

5
推荐指数
1
解决办法
7428
查看次数

基于UnixTime的动态MySQL分区

我的数据库设计包括多个MYISAM表,在线收集测量数据,

每行记录包含自动递增的id,一些数据和表示unixtime的整数.

我正在设计一个老化机制,我有兴趣使用MySQL分区动态地基于unixtime对每个这样的表进行分区.

假设我感兴趣的是每个分区将代表单个月的数据,最后一个分区应该代表2个月,如果记录到达下一个未表示的月份,代表2个月的分区应该重新组织以代表单个月,并且新分区应该创建代表2个月(1个从最后一个分区获取,1个用于将来的测量),

此外,当创建新分区时,我感兴趣的是将丢弃最旧的分区.

  1. 我应该使用什么类型的分区(我的unixtime不是唯一的密钥,我如何使用unixtime进行分区)?
  2. 如何根据添加到表中的新记录将分区设计为完全动态?

更新12.12.12

我找到了有趣的链接到类似的方法,我已经描述了你的魔法范围分区维护查询.

mysql myisam partitioning dynamic unix-timestamp

5
推荐指数
1
解决办法
7462
查看次数

将unix epoch时间戳转换为TSQL日期时间

我发现只有一个类似的问题,但对于MySQL.

我正在开发一个Web服务,不得不查询数据库(MS SQL服务器).由于我无法得到正确的结果,我决定通过SQL客户端测试查询.Web服务使用Hibernate访问数据库,所有时间值始终表示为长值(unix纪元时间).为了测试它,我需要将unix时间戳转换为TSQL时间戳.这就是我想出的:

select dateadd(ms,123,'1970-01-01 00:00:00.0');
Run Code Online (Sandbox Code Playgroud)

哪个输出:

1970-01-01 00:00:00.123
Run Code Online (Sandbox Code Playgroud)

但是,我的实际数据有点大

select dateadd(ms,1359016610667 ,'1970-01-01 00:00:00.0');
Run Code Online (Sandbox Code Playgroud)

哪个输出:

Error code 0, SQL state 22001: Data truncation
Error code 8115, SQL state 22003: Arithmetic overflow error converting expression to data type int.
Run Code Online (Sandbox Code Playgroud)

所以,我尝试过:

select dateadd(ms,CAST (1359016610667 AS BIGINT) ,'1970-01-01 00:00:00.0');
Run Code Online (Sandbox Code Playgroud)

它输出完全相同的错误.为了安全起见,我尝试过:

select CAST (1359016610667 AS BIGINT) 
Run Code Online (Sandbox Code Playgroud)

哪个输出:

1359016610667
Run Code Online (Sandbox Code Playgroud)

我确保java long等同于TSQL bigint - 它们都很8 B长.重读dateadd()文档显示以下内容:

DATEADD(datepart,number,date)
....
number
是一个表达式,可以解析为添加到date的datepart的int.用户定义的变量有效.

如果我理解正确,这意味着这种方法不能用于将unix时间戳转换为TSQL时间戳,这很好地原谅了我的语言,但只是简单的延迟.

我的问题是:

  • 我对这种情况的解释是否正确? …

t-sql epoch unix-timestamp

5
推荐指数
2
解决办法
2万
查看次数

将毫秒转换为时间戳

我知道可以将毫秒级的Unix时间戳转换为我可以使用的SQL时间戳

SELECT TO_DATE('1970-01-01','YYYY-MM-DD HH24:MI:SS') + 
       (:timestamp / (1000*60*60*24)) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)

但是我需要一个时间戳,所以我尝试了

SELECT TO_TIMESTAMP('1970-01-01 00:00:00','YYYY-MM-DD HH24:MI:SSFF3') + 
       (:timestamp) from DUAL
Run Code Online (Sandbox Code Playgroud)

这给了我错误:

错误:ORA-01841 :(完整)年份必须在-4713和+9999之间,并且不能为0

似乎将1加到时间戳总是将其转换为一天。

我该如何做才能获得实时时间戳?

sql oracle timestamp milliseconds unix-timestamp

5
推荐指数
1
解决办法
2万
查看次数

数据库中的闰秒处理

如:

The Unix time number is zero at the Unix epoch, and increases by exactly 86400
per day since the epoch. So it cannot represent leap seconds. The OS will slow 
down the clock to accomodate for this. 
Run Code Online (Sandbox Code Playgroud)

那么,如果我在DB中存储Unix纪元(例如ts)(毫秒精度),如何处理以下情况?

  1. 如何确保ts总是增加而不是后退?
  2. 如何从db中精确选择100s间隔,将其考虑到闰秒?

例如

SELECT * FROM events WHERE ts >= T1 and ts < T1 + 100
Run Code Online (Sandbox Code Playgroud)

上面的SQL将返回发生在T1,T1 + 1,T1 + 2,..上升到T1 + 99的事件,但由于闰秒,结果可能是错误的,包括1s的跳跃时间,如何采取帐户到此?

unix timezone jodatime unix-timestamp

5
推荐指数
1
解决办法
843
查看次数

Cookies到期时间格式

我是从Google chrome的Cookies文件创建数据库的,表中的列之一cookiesexpires_utc。该列的格式类似于-13169399213145330,更像是Unix时间。但是,当我尝试使用Unix时间转换器时,它给出了错误的值。

那么,那是什么格式,我如何将其转换为实际的Unix时间?

cookies timestamp google-chrome unix-timestamp

5
推荐指数
1
解决办法
2383
查看次数