0

用户将消息发布到我的服务器,这些消息存储在数据库中,默认情况下有一列是 CURRENT_TIMESTAMP。如下所示:

Message Table:

Sender |  Content |  SentTime 

Tom    | hi there | 2013-06-19 00:13:21

当用户向我的服务器发布消息时,他/她不需要发布他/她的当地时间。我的数据库会自动记录该值。我觉得这比让用户将他/她的时间与消息一起发布要好。

稍后用户将从服务器检索消息以及发送时间。我想知道如何将该时间转换为用户的当地时间。

我正在使用 Json 在服务器上进行编码,然后在我的应用程序中解码数据。所以从服务器获取的时间将是一个字符串,如:2013-06-19 00:13:21我想我需要解析这个字符串开始?

4

1 回答 1

3

您必须使用 SimpeDateFormat 解析服务器返回的字符串:

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
simpleDateFormat.setTimeZone(TimeZone.getTimeZone("EST"));
Date date = simpleDateFormat.parse("2013-06-19 00:13:21");

TimeZone destTz = TimeZone.getTimeZone("yourtimezone");
simpleDateFormat.setTimeZone(destTz);
String result = simpleDateFormat.format(date);
于 2013-06-21T17:42:32.327 回答