我需要将unix时间戳转换为日期对象.
我试过这个:
java.util.Date time = new java.util.Date(timeStamp);
Run Code Online (Sandbox Code Playgroud)
时间戳值是: 1280512800
日期应该是"2010/07/30 - 22:30:00"(因为我通过PHP得到它),但我得到了Thu Jan 15 23:11:56 IRST 1970.
应该怎么做?
我想得到当前的时间戳:1320917972
int time = (int) (System.currentTimeMillis());
Timestamp tsTemp = new Timestamp(time);
String ts = tsTemp.toString();
Run Code Online (Sandbox Code Playgroud) 对于某个Hibernate实体,我们需要存储其创建时间和上次更新时间.你会怎么设计这个?
您将在数据库中使用哪些数据类型(假设MySQL,可能在与JVM不同的时区)?数据类型是时区感知的吗?
你会在Java中使用什么数据类型(Date,Calendar,long,...)?
您将负责设置时间戳 - 数据库,ORM框架(Hibernate)或应用程序员?
您将使用哪些注释进行映射(例如@Temporal)?
我不只是在寻找一个可行的解决方案,而是一个安全且设计良好的解决方案.
我想从PostgreSQL中的时间戳中提取日期部分.
我需要它是一个postgresql DATE类型,所以我可以将它插入到另一个DATE期望值的表中.
例如,如果我有2011/05/26 09:00:00,我想要2011/05/26
我试过铸造,但我只得到2011年:
timestamp:date
cast(timestamp as date)
Run Code Online (Sandbox Code Playgroud)
我尝试to_char()过to_date():
SELECT to_date(to_char(timestamp, 'YYYY/MM/DD'), 'YYYY/MM/DD')
FROM val3 WHERE id=1;
Run Code Online (Sandbox Code Playgroud)
我试着让它成为一个功能:
CREATE OR REPLACE FUNCTION testing() RETURNS void AS '
DECLARE i_date DATE;
BEGIN
SELECT to_date(to_char(val1, "YYYY/MM/DD"),"YYYY/MM/DD")
INTO i_date FROM exampTable WHERE id=1;
INSERT INTO foo(testd) VALUES (i);
END
Run Code Online (Sandbox Code Playgroud)
从PostgreSQL中的时间戳中提取日期(yyyy/mm/dd)的最佳方法是什么?
我试图转换格式的时间戳,2009-09-12 20:57:19并将其转换为类似于3 minutes agoPHP的东西.
我找到了一个有用的脚本来做到这一点,但我认为它正在寻找一种不同的格式作为时间变量.我想要修改以使用此格式的脚本是:
function _ago($tm,$rcs = 0) {
$cur_tm = time();
$dif = $cur_tm-$tm;
$pds = array('second','minute','hour','day','week','month','year','decade');
$lngh = array(1,60,3600,86400,604800,2630880,31570560,315705600);
for($v = sizeof($lngh)-1; ($v >= 0)&&(($no = $dif/$lngh[$v])<=1); $v--); if($v < 0) $v = 0; $_tm = $cur_tm-($dif%$lngh[$v]);
$no = floor($no);
if($no <> 1)
$pds[$v] .='s';
$x = sprintf("%d %s ",$no,$pds[$v]);
if(($rcs == 1)&&($v >= 1)&&(($cur_tm-$_tm) > 0))
$x .= time_ago($_tm);
return $x;
}
Run Code Online (Sandbox Code Playgroud)
我认为在前几行中脚本试图做一些看起来像这样的事情(不同的日期格式数学):
$dif = 1252809479 - 2009-09-12 20:57:19;
Run Code Online (Sandbox Code Playgroud)
我如何将我的时间戳转换为(unix?)格式?
如何从Rails应用程序中的Date对象获取UNIX时间戳(自格林威治标准时间1970年以来的秒数)?
我知道Time#to_i返回一个时间戳,但是执行Date#to_time然后获取时间戳会导致大约一个月的时间(不知道为什么......).
任何帮助表示赞赏,谢谢!
编辑:好的,我想我想出来了 - 我在一个循环中多次处理一个日期,每次由于时区不匹配而移动一点日期,最终导致我的时间戳缩短一个月.不过,我仍然有兴趣知道是否有任何方法可以不依赖于此Date#to_time.
为什么在DEFAULT或ON UPDATE子句中只能有一个TIMESTAMP列和CURRENT_TIMESTAMP?
CREATE TABLE `foo` (
`ProductID` INT(10) UNSIGNED NOT NULL,
`AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)
导致的错误:
错误代码:1293
表定义不正确; 在DEFAULT或ON UPDATE子句中只能有一个TIMESTAMP列和CURRENT_TIMESTAMP
我有一个包含时间戳的数据文件,如"1331856000000".不幸的是,我没有很多关于格式的文档,所以我不确定时间戳是如何格式化的.我已经尝试过Python的标准datetime.fromordinal()和datetime.fromtimestamp()其他一些标准,但没有任何匹配.我很确定特定的数字对应于当前日期(例如2012-3-16),但不是更多.
如何将此数字转换为datetime?
我有dt = datetime(2013,9,1,11),我想得到这个日期时间对象的Unix时间戳.
当我这样做时,(dt - datetime(1970,1,1)).total_seconds()我得到了时间戳1378033200.
当datetime.fromtimestamp我把它转换回来的时候datetime.datetime(2013, 9, 1, 6, 0).
小时不匹配.我在这里想念的是什么?