2016-09-16 161 views
0

需要一些幫助。 我正在使用PHP。 所以我有座標數據。 具體爲LongtitudeLatitude。 假設我有15個Long和Lat數據插入到表格中。 但是,api只給我一個日期時間,因爲這些座標是在數組中。 例如:在給定日期時間內添加30秒間隔

[14.4364372;121.0125753, 14.4364375;121.0125755, 14.4364377;121.0125758, 14.436436;121.012574, 14.4364342;121.0125721, 14.4364326;121.0125704, 14.436433;121.0125707, 14.4364334;121.0125711, 14.4364338;121.0125716, 14.4364342;121.012572, 14.4364345;121.0125724, 14.4364348;121.0125728, 14.4364351;121.0125731, 14.4364353;121.0125733, 14.4364356;121.0125735]

所以首先你將會爆發,擺脫分隔符的「」 和LOOP它來計算有多少數據,然後再爆炸分隔符‘;’以計算長和拉特。 但它只有一個日期時間。 我想在這裏插入這些數據,包括日期時間,但每插入30秒的時間間隔。 我該怎麼做?

預計產量會是這樣的:

INSERT INTO table_gps(ticket,datetime,long,lat) VALUES(0,09/16/2016 03:30:26 pm, 14.4364363,121.0125745) 

INSERT INTO table_gps(ticket,datetime,long,lat) VALUES(0,09/16/2016 03:30:56 pm, 14.4364364,121.0125746) 

這裏是我的代碼:

$msg= 'YC GPS2~09/16/2016 13:29:46~-~[14.4364362;121.0125744, 14.4364363;121.0125745]'; 

if(strpos($msg,'YC GPS2')!==false){ 
//explode data 
    $explode=explode('~',$msg); 
    $ky=$explode[0]; 
    $datetime=$explode[1]; 
    $ticket=$explode[2]; 
    $coords=$explode[3]; 
    $coords=explode(',',$coords); 

    for($i=0;$i<count($coords);$i++){ 
     $xpVal=$coords[$i]; 
    if($xpVal){ 

     $xp3=explode(';',$xpVal); 

    $lng=$xp3[0]; 
    $lat=$xp3[1]; 
    $lng=str_replace('[','',$lng); 
    $lat=str_replace(']','',$lat); 
    $time = date("m/d/Y h:i:s a", time() + 30);// where 30 is the seconds 
    echo "INSERT INTO GPS2(ticket,datetime,long,lat)  VALUES(".$ticket.",".$time.",".$lng.",".$lat.") "; 
    } 
    } 

}else{ 
    echo '0'; 
} 

感謝。

+0

是什麼結局人口會?它會是什麼樣子?和你曾經嘗試過的? –

+0

我不知道真正的問題是什麼?日期與此有什麼關係?原始日期時間從哪裏來?它們與長/雙對有什麼關係? –

回答

0

爲了在PHP中添加特定日期的秒數,您可以使用以下內容。

$time = date("m/d/Y h:i:s a", time() + 30);// where 30 is the seconds 

以下是使用PHP添加日,分,小時和秒的真正簡單方法。使用日期函數設置要返回日期的格式,然後使用strtotime添加時間的增加或減少,然後在逗號後使用另一個strtotime在開始日期和時間中傳遞。

//設置時區

date_default_timezone_set('GMT'); 

//設置日期和時間與

$start = '2014-06-01 14:00:00'; 

工作//顯示轉換後的時間

echo date('Y-m-d H:i',strtotime('+1 hour +20 minutes',strtotime($start))); 

時間可以在輸入一種可讀的方式:

  • 1天=加1天
  • 1小時=增加1小時
  • 10分鐘=增加10分鐘
  • 10秒=增加10秒
+0

已經嘗試過了。它按時添加了30秒,但是這將是插入桌面的相同數據。已經呼應插入語句 請看看: INSERT INTO GPS2(機票,日期時間,長,LAT)VALUES( - ,2016年9月16日下午三點49分36秒,14.4364362,121.0125744) INSERT INTO GPS2(ticket,datetime,long,lat)VALUES( - ,09/16/2016 03:49:36 pm,14.4364363,121.0125745) –

+0

您將展示什麼是您爲加入日期和秒數所做的代碼你的日期在哪裏?你添加的日期格式是什麼? –

+0

請看看我的帖子,在那裏添加我的代碼。 –

相關問題