时间戳问题显示1970年代替1988年

时间:2010-12-31 10:11:48

标签: blackberry timestamp

我正在尝试使用以下语句

在DateField中设置默认值

DateField dateField = new DateField(“Birthday:”,567993600,DateField.DATE | DateField.FIELD_LEFT);

但是当我运行我的应用程序时,它显示的是1970年1月7日而不是1988年1月1日。

我检查了http://www.onlineconversion.com/unix_time.htm

上的时间戳

它显示了正确的预期日期,即“星期五,1988年1月1日00:00:00 GMT”

我正在使用8900模拟器,我的日期时间是正确的,显示今天的日期2010年12月31日日期时间在选项文件夹下。

此致

-gmuhammad

2 个答案:

答案 0 :(得分:4)

The date field uses milliseconds。你需要将时间乘以1000.

修改:确保使用长值(即5679936001000l或567993600l * 1000)。使用整数,乘法溢出。

答案 1 :(得分:0)

以下代码有效:

DateField dateField = new DateField(“Birthday:”,567993600000L,DateField.DATE | DateField.FIELD_LEFT);

Martin,你的回答非常正确,但在乘以1000后出现溢出,编译器使用整数作为文字。所以我最后添加三个零而不是乘以1000。

感谢Martin。