InfluxDB转北京时间,rfc3339转北京时间
一、InfluxDB中的时间格式
influxDB支持三种时间格式:epoch_time、rfc3339_date_time_string和rfc3339_like_date_time_string。
(1)epoch_time格式
就是时间戳格式,我们一般使用的10位和13位,在influxdb中使用的时间戳是19位,单位是ns(纳秒)
(2)rfc3339_date_time_string 格式
这种格式为:
'YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ'
其中YYYY-MM-DD表示年月日,T出现在字符串中,表示Time元素的开始,HH:MM:SS表示时分秒,nnnnnnnnn是可选的,如果不写则会被设置为000000000。注意,如果使用这种时间格式,需要使用单引号 ’ 将时间括起来。
(3)rfc3339_like_date_time_string
这种格式:
'YYYY-MM-DD HH:MM:SS.nnnnnnnnn'
其中HH::MM:SS.nnnnnnnnn可以省略,必须用单引号包括起来。
二、将时间转为北京时间
import java.util.Date;
import java.util.Locale;
import org.joda.time.DateTime;
public static String toBeijingTime(String date){
DateTime dateTime = new DateTime(date);
long timeInMillis = dateTime.toCalendar(Locale.getDefault()).getTimeInMillis();
Date date1 = new Date(timeInMillis);
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(date1);
return time;
}
注意:DateTime要引入正确的依赖!!!
import org.joda.time.DtaeTime

这里date “2023-08-25T06:06:27.0066874Z”用的rfc3339_date_time_string格式,默认采用UTC时间,即国际标准时间,比北京时间慢8个小时。
浙公网安备 33010602011771号