简体   繁体   English

从php传递json数据ajax,但是当数据获取时,时间在php中发生了变化

[英]pass json data ajax from php but time is change in php when data get

i write code for event calendar in jQuery plugin when i send data from ajax to php for store event in database my time is different in JavaScript and php 当我将数据从ajax发送到php以在database存储事件时,我在jQuery plugin为事件日历编写了代码,而我的时间在JavaScript和php中有所不同

my time in JavaScript 我的JavaScript时间

Tue Jan 02 2018 09:00:00 GMT+0530 (India Standard Time) Tue Jan 02 2018 09:00:00 GMT + 0530(印度标准时间)

when i get this date time in php my time is 当我在php中得到这个日期时间时

2018-01-02T03:30:00.000Z 2018-01-02T03:30:00.000Z

i have i can get exact date time which i send from ajax 我可以从ajax获取确切的date time

my ajax code 我的ajax代码

$.ajax({
 type:"POST",
 url:"eventCreate.php",
 data:{data:enc},
 cache: false,
 success:function(result){
   alert(result);
 }
});

data i have to pass 我必须通过的data

{start: Tue Jan 02 2018 09:00:00 GMT+0530 (India Standard Time), end: Tue Jan 02 2018 09:30:00 GMT+0530 (India Standard Time), id: 10, date: Tue Jan 02 2018 09:00:00 GMT+0530 (India Standard Time), title: "", …}
body
:
""
date
:
Tue Jan 02 2018 09:00:00 GMT+0530 (India Standard Time) {}
end
:
Tue Jan 02 2018 09:30:00 GMT+0530 (India Standard Time) {}
id
:
10
start
:
Tue Jan 02 2018 09:00:00 GMT+0530 (India Standard Time) {}
title
:
""
__proto__
:
Object

and now how to get exact datetime in php 现在如何在php中获取确切的datetime时间

my php code 我的PHP代码

<?php
$con=mysqli_connect("localhost","root","","test");
$data = json_decode($_POST['data']);

$query="insert into event_calendar (`event_id`,`start_time`,`end_time`,`date`,`title`,`body`)
     values('".$data->id."','".$data->start."','".$data->end."','".$data->date."','".$data->title."','".$data->body."')";

echo $query;     

Use this code to change the default time zone in php 使用此代码更改php中的默认时区

date_default_timezone_set('Indian/Comoro');

set this code in the top of your php file. 将此代码设置在您的php文件的顶部。

also you can find all supported php time zones in here 你也可以在这里找到所有支持的PHP时区

Also be careful javascript is a client side programming language, so the timezone of your php code might get changed depending on user country! 另外请注意,javascript是一种客户端编程语言,因此php代码的时区可能会因用户国家/地区而异!

Try to get javascript time from your server. 尝试从服务器获取JavaScript时间。

Set your local time zone in your PHP file, using date_default_timezone_set() 使用date_default_timezone_set()PHP文件中设置本地时区

<?php
// set local timezone
date_default_timezone_set("Asia/Kolkata");
$con=mysqli_connect("localhost","root","","test");
$data = json_decode($_POST['data']);

$query="insert into event_calendar (`event_id`,`start_time`,`end_time`,`date`,`title`,`body`)
 values('".$data->id."','".$data->start."','".$data->end."','".$data->date."','".$data->title."','".$data->body."')";

echo $query; 

Asian time zones 亚洲时区

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM