Bigquery.jobs().query().execute
返回時間戳的紀元時間,並且紀元時間包括帶有結尾字母數字值的點(1.295353708E9
),從而將該值轉換爲Java時間戳失敗;Bigquery.jobs()。query查詢返回紀元時間1.295353708E9時間戳列
返回值1.295353708E9
相同1295353708
但不知道什麼是最好的方式來處理,作爲BQ的web用戶界面使得它。
任何幫助高度讚賞!
Bigquery.jobs().query().execute
返回時間戳的紀元時間,並且紀元時間包括帶有結尾字母數字值的點(1.295353708E9
),從而將該值轉換爲Java時間戳失敗;Bigquery.jobs()。query查詢返回紀元時間1.295353708E9時間戳列
返回值1.295353708E9
相同1295353708
但不知道什麼是最好的方式來處理,作爲BQ的web用戶界面使得它。
任何幫助高度讚賞!
這應該工作:
long epoch = Double.valueOf("1.295353708E9").longValue();
String date = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss")
.format(new Date (epoch*1000));
在給定的例子值時,date
字符串解析爲01/18/2011 21:28:28
。
我做這樣
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」
值得注意的是BigQuery使用秒_specifies的秒數[1](https://cloud.google.com/bigquery/preparing-data-for-bigquery#datatypes),而Java使用** mili **秒。這就是爲什麼需要'* 1000'的原因。 – user454322 2016-04-06 10:50:31