Java 数据截断:列';结束时间';在第一排

Java 数据截断:列';结束时间';在第一排,java,android,json,Java,Android,Json,在android上,我正在使用一个web服务。JSON包含两个字段,例如startTime和endTime。在DTO类(客户端和服务器端)中,startTime和endTime的类型很长。另外,在数据库表中,类型是int(11) 我将开始时间和结束时间捕捉为 Date startDate = new Date(); Long startTime = new Long(startDate.getTime()); mDto.setStartTime(startTime); D

在android上,我正在使用一个web服务。JSON包含两个字段,例如startTime和endTime。在DTO类(客户端和服务器端)中,startTime和endTime的类型很长。另外,在数据库表中,类型是int(11)

我将开始时间和结束时间捕捉为

 Date startDate = new Date();
    Long startTime = new Long(startDate.getTime());
    mDto.setStartTime(startTime);


 Date endDate = new Date();
        Long endTime = new Long(endDate.getTime());
        mDto.setEndTime(endTime);
但是,我得到了JSON的值是

{
....
"startTime":1484630553565,
 "endTime":1484630653424,
....
}
那么,如何截断这些字段呢?

Date.getTime()在java中返回毫秒,并且它们不适合mysql中的int类型

使用秒数:
newdate()/1000


注意:mysql中的from_unixtime()等方法使用秒数,因此不管这个问题如何,这都是解决方法。

System.out.println(新日期(14846305535L))有什么问题我没有打印日期值。我正在捕获日期值,并通过JSONCLEAR以长格式发送它,以满足您的要求。你是说这些日期不适合
int(11)
?是的。我应该截断它。这些值包含毫秒,而unix日期只包含秒。根据我的评论,如果您不能增加列的大小,那么除以1000使它们成为unix datesyep+1@Y.E.谢谢你的解决方案。我把字段截断了。