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.295353708E9
与 1295353708
相同,但不确定在 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/