Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何将字符串数据(如2016-4-10 00:00:00)转换为时间戳?_Android_Date_Datetime - Fatal编程技术网

Android 如何将字符串数据(如2016-4-10 00:00:00)转换为时间戳?

Android 如何将字符串数据(如2016-4-10 00:00:00)转换为时间戳?,android,date,datetime,Android,Date,Datetime,我想将类似于2016-4-10 00:00:00的数据转换为时间戳 我使用此代码(我将此日期作为参数发送到此方法): 但是我得到了1460235600值,如果我再次将其转换为日期,我得到: 2016年4月9日星期六21:00:00 (在10.04之前-在09.04之后) 你能帮我吗?试着用一个M来解析一位数的月份格式。它还可以正确处理两个数字 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-dd kk:mm:ss.SSS"); 您的代码没

我想将类似于2016-4-10 00:00:00的数据转换为时间戳

我使用此代码(我将此日期作为参数发送到此方法):

但是我得到了1460235600值,如果我再次将其转换为日期,我得到: 2016年4月9日星期六21:00:00

(在10.04之前-在09.04之后)


你能帮我吗?

试着用一个
M
来解析一位数的月份格式。它还可以正确处理两个数字

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-dd kk:mm:ss.SSS");

您的代码没有问题。时区有一些问题。您的SimpleDataFormat将使用您的本地时区。您可能正在获取区域设置的时间戳,在将其转换回日期时,您正在签入GMT时区。要测试这一点,只需添加

sdf.setTimeZone(TimeZone.getTimeZone(“GMT”)

在解析日期之前


因此,基本上,您没有使用相同的时区将日期转换为时间戳,也没有使用相同的时区将时间戳转换为区域。

为什么要以简单的日期格式添加额外的.SSS。删除并重试。另外,我认为你需要规定月的价值,因为它从0-11开始
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-dd kk:mm:ss.SSS");