Android 如何将字符串数据(如2016-4-10 00:00:00)转换为时间戳?
我想将类似于2016-4-10 00:00:00的数据转换为时间戳 我使用此代码(我将此日期作为参数发送到此方法): 但是我得到了1460235600值,如果我再次将其转换为日期,我得到: 2016年4月9日星期六21:00:00 (在10.04之前-在09.04之后)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"); 您的代码没
你能帮我吗?试着用一个
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");