如何从一个国家/地区设置日期格式?

时间:2011-07-30 15:01:31

标签: java android date time

所以我将一个Date.toString()发送到一个Android手机,服务器在一个国家,我如何格式化时间,使其显示相对于手机的时区?

例如,如果服务器向手机发送5点CDT,那么手机将显示10点钟的utc?

关于如何实现这一目标的任何想法?

2 个答案:

答案 0 :(得分:1)

如果跨字符串发送不是绝对要求,则另一种解决方案是发送UTC毫秒并根据用户时区重新构建时间。

// on the sever side
final Date serverTime = new Date();
sendToClient(serverTime.getTime());
System.out.println("Time sent by server: " + serverTime);

// on the client
final long ms = receiveFromServer();
final Date clientTime = new Date();
clientTime.setTime(ms);
System.out.println("Time received by client: " + clientTime);

答案 1 :(得分:0)

如果您能够以毫秒为单位发送UTC时间,那么请查看DateUtils.formatDateTime(...),它将使用本地约定格式化并返回String。

使用DateUtils.FORMAT_XXX参数的flags常量来指定要包含的组件(工作日,年份等)。