java - 获取 PostgreSQL 的格式化时间字符串

标签 java android postgresql

我使用 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/

相关文章:

java - Graphql 在 Postman 中使用变量作为文本发送 POST

java - 从 JBEHAVE 中的示例表运行特定行

java - quartz : documentation for xml files?

java - 无法迭代 jSTL jsp 中的对象列表

android - SurfaceView 与自定义 View (从 View 扩展)。 SurfaceView 比较慢,为什么?

android - 在按钮上全屏显示 android Activity

postgresql - 转储/恢复数据时如何强制 postgres 使用来自 csv 的列顺序?

android - fragment onCreateView() 包。它从何而来?

sql - 在 SQL 中更改表添加列语法

postgresql - PL/pgSQL 函数中的语法错误