如何从 PHP 脚本通过 CK Web 服务将日期传递给 CloudKit?
How can one pass a date to CloudKit via CK Web Services from a PHP script?
我正在编写 PHP 脚本以通过 CK Web 服务将数据发送到 CloudKit 数据库。它适用于字符串数据,但我无法将日期从 PHP 传递到 CK Date/Time 字段。
CK returns 日期为 13 位时间戳。所以,下面的代码
$timestamp = $record['created']['timestamp'];
$timestamp = $timestamp/1000;
echo '<td>'.date('m-d-Y H:i:s', $timestamp)."</td>";
回声
04-28-2017 12:35:19
很好很花花公子。
所以我假设如果 CK 传递一个 13 位的时间戳,它在传递给 Date/Time 字段时应该接受相同的时间戳。
唉,从下面传$dobTimestamp
$dobTimestamp = strtotime($dob) * 1000;
导致此 BAD_REQUEST
错误
Invalid value, expected type TIMESTAMP
当我转到 CK 仪表板并手动输入 $dob
时,CK returns 的值正好等于 $dobTimestamp
,所以我认为传递 $dobTimestamp
应该有效。 . .但事实并非如此。
我无法在 Apple 的文档中找到我应该做什么。有谁知道如何通过 Web 服务将日期传递给 CK Date/Time 字段?很难想象没有办法做到这一点。
经过大量调整后,下面是使用 PHP DateTime 的方法:
$openingDate = $_POST['openingDate']; // is mm/dd/yyyy
$closingDate = $_POST['closingDate'];
。 . .
// Process Dates
$openingDateTime = new DateTime($openingDate, new DateTimeZone('America/New_York')); // Create new DateTime object
$closingDateTime = new DateTime($closingDate, new DateTimeZone('America/New_York'));
date_time_set($openingDateTime, 10, 00); // Set time for date object
date_time_set($closingDateTime, 17, 00); // Set time for date object
$oDate = (date_timestamp_get($openingDateTime)*1000); // Get the TIMESTAMP from DateTiem object and convert to milliseconds
$cDate = (date_timestamp_get($closingDateTime)*1000);
CK 查询的 JSON 很简单:
。 . .
"openingDate": {"value":'.$oDate.'},
"closingDate": {"value":'.$cDate.'},
我正在编写 PHP 脚本以通过 CK Web 服务将数据发送到 CloudKit 数据库。它适用于字符串数据,但我无法将日期从 PHP 传递到 CK Date/Time 字段。
CK returns 日期为 13 位时间戳。所以,下面的代码
$timestamp = $record['created']['timestamp'];
$timestamp = $timestamp/1000;
echo '<td>'.date('m-d-Y H:i:s', $timestamp)."</td>";
回声
04-28-2017 12:35:19
很好很花花公子。
所以我假设如果 CK 传递一个 13 位的时间戳,它在传递给 Date/Time 字段时应该接受相同的时间戳。
唉,从下面传$dobTimestamp
$dobTimestamp = strtotime($dob) * 1000;
导致此 BAD_REQUEST
错误
Invalid value, expected type TIMESTAMP
当我转到 CK 仪表板并手动输入 $dob
时,CK returns 的值正好等于 $dobTimestamp
,所以我认为传递 $dobTimestamp
应该有效。 . .但事实并非如此。
我无法在 Apple 的文档中找到我应该做什么。有谁知道如何通过 Web 服务将日期传递给 CK Date/Time 字段?很难想象没有办法做到这一点。
经过大量调整后,下面是使用 PHP DateTime 的方法:
$openingDate = $_POST['openingDate']; // is mm/dd/yyyy
$closingDate = $_POST['closingDate'];
。 . .
// Process Dates
$openingDateTime = new DateTime($openingDate, new DateTimeZone('America/New_York')); // Create new DateTime object
$closingDateTime = new DateTime($closingDate, new DateTimeZone('America/New_York'));
date_time_set($openingDateTime, 10, 00); // Set time for date object
date_time_set($closingDateTime, 17, 00); // Set time for date object
$oDate = (date_timestamp_get($openingDateTime)*1000); // Get the TIMESTAMP from DateTiem object and convert to milliseconds
$cDate = (date_timestamp_get($closingDateTime)*1000);
CK 查询的 JSON 很简单:
。 . .
"openingDate": {"value":'.$oDate.'},
"closingDate": {"value":'.$cDate.'},