gpt4 book ai didi

android - 如何转换字符串数据如 2016-4-10 00 :00:00 to timestamp?

转载 作者:行者123 更新时间:2023-11-29 19:51:04 25 4
gpt4 key购买 nike

我想将 2016-4-10 00:00:00 等数据转换为时间戳。

我使用这段代码(我将这个日期作为参数发送给这个方法):

public static long parseUTimeAndGiveTimestamp(String time) {
if (time != null && !time.equals("")) {
long longTime = 0;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS");
Date date;
try {
time += ".000";
date = sdf.parse(time);
} catch (Exception e) {
e.printStackTrace();
return longTime;
}
longTime = date.getTime();
return longTime / 1000;
}
return 0;
}

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

(10.04 之前 - 09.04 之后)

所以你能帮我吗?

最佳答案

您的代码没有问题。时区存在一些问题。您的 SimpleDateFormat 将使用您本地的时区。您可能正在获取您所在地区的时间戳,并且在将其转换回日期时,您正在检查 GMT 时区。要测试这个,只需添加

sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

在解析日期之前。

所以基本上您没有使用相同的时区将日期转换为时间戳,同时将时间戳转换为时区。

关于android - 如何转换字符串数据如 2016-4-10 00 :00:00 to timestamp?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com