我使用 PostgreSQL 数据库服务器。一列有“带有时区的时间戳”,我通过 XML 上传时间字符串,如“2012-07-11 04:45:18+GMT+05:30”,但它接受这种格式“2012-02-16 19:47”: 22.652+05:30'
那么,如何在 Android 上格式化时间字符串?以下是我的功能。
Calendar c=Calendar.getInstance();
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ssZ");
Log.v("AKDN", "Time string is:"+formatter.format(c.getTime()));
return formatter.format(c.getTime());
最佳答案
这对我来说效果很好:
private String getTime()
{
Calendar c = Calendar.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SZ");
return formatter.format(c.getTime());
}
就我而言,它输出:
2012-07-11 06:32:46.118-0600
编辑:
您可以将“:”添加到字符串中。
或者您可以创建另一个函数来格式化时区。像这样的事情:
private String formatTimeZone(TimeZone tz)
{
DecimalFormat format = new DecimalFormat("00");
String timeZone = new String("");
int offset = tz.getRawOffset();
if(offset != 0)
{
int hours = Math.abs((offset / (60 * 1000)) / 60);
int minutes = Math.abs((offset / (60 * 1000)) % 60);
timeZone += offset < 0 ? "-" : "+";
timeZone += format.format(hours);
timeZone += ":";
timeZone += format.format(minutes);
}
return timeZone;
}
关于java - 获取 PostgreSQL 的格式化时间字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11432307/