java - Bigquery.jobs().query 为时间戳列返回纪元时间 1.295353708E9

标签 java google-bigquery

Bigquery.jobs().query().execute 返回时间戳的纪元时间,该纪元时间包括带有尾随字母数字值的点 (1.295353708E9),从而将其转换Java 时间戳的值失败;

Object v = checkNullAndGetColumnValue(columnIndex);
long epoch = Long.parseLong(v.toString());
String date = new java.text.SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(new java.util.Date (epoch*1000));

返回值 1.295353708E91295353708 相同,但不确定在 bq web UI 呈现时最好的处理方式是什么。

非常感谢任何帮助!

最佳答案

我是这样做的

    Calendar cal = Calendar.getInstance();
    double d = Double.parseDouble("1.295353708E9");
    long l = (long) d * 1000;
    cal.setTimeInMillis(l);

    String date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").format(cal
            .getTime());

无论如何,我认为 bigquery 时间戳格式是“YYYY-MM-dd HH:mm:ss.SSS”

关于java - Bigquery.jobs().query 为时间戳列返回纪元时间 1.295353708E9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26667489/

相关文章:

java - 如何在 Java Swing 中创建圆形标题边框

java - Context 上的 Activity.this 引用

ios - 如何将我的 Firebase Analytics 数据传输到 BigQuery?

google-bigquery - BigQuery 计划查询 : Cannot create a transfer in > JURISDICTION_US when destination dataset is located in > REGION_ASIA_SOUTHEAST_1

sql - BigQuery 检查表是否存在

google-bigquery - BigQuery 物化 View - 组中最后一个

java - 如何在 Android 2.2 上使用 libGdx 管理分辨率?

java - 为什么 ThreadLocalRandom 的实现如此奇怪?

java - Hibernate 和 Oracle 11g 中的 SQLGrammarException

mysql - SQL BigQuery - 插入具有不同日期范围的行