本文整理汇总了PHP中Bitrix\Main\Type\DateTime::getTimestamp方法的典型用法代码示例。如果您正苦于以下问题:PHP DateTime::getTimestamp方法的具体用法?PHP DateTime::getTimestamp怎么用?PHP DateTime::getTimestamp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bitrix\Main\Type\DateTime
的用法示例。
在下文中一共展示了DateTime::getTimestamp方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: isOutOfDate
public function isOutOfDate()
{
if ($this->isOutOfDate === null) {
$srcLastChanged = UserFieldHistory::getLastChangeTime($this->srcEntityTypeID);
$dstLastChanged = UserFieldHistory::getLastChangeTime($this->dstEntityTypeID);
$lastChanged = null;
if ($srcLastChanged !== null && $dstLastChanged !== null) {
$lastChanged = $srcLastChanged->getTimestamp() > $dstLastChanged->getTimestamp() ? $srcLastChanged : $dstLastChanged;
} elseif ($srcLastChanged !== null || $dstLastChanged !== null) {
$lastChanged = $srcLastChanged !== null ? $srcLastChanged : $dstLastChanged;
}
$this->isOutOfDate = $lastChanged !== null && $lastChanged->getTimestamp() > $this->time->getTimestamp();
}
return $this->isOutOfDate;
}
示例2: passed
/**
* Возвращает дату в формате прошедшего времени. Например, "15 минут назад", "2 часа назад", "вчера", ...
* @param \Bitrix\Main\Type\DateTime $datetime
* @return string
*/
public static function passed(\Bitrix\Main\Type\DateTime $datetime, $formatDateTime = 'd.m.Y H:i', $formatDay = 'H:i')
{
$time = $datetime->getTimestamp();
$diff = time() - $time;
//
if (self::passedYesterday($time, $output)) {
return $output;
} elseif ($diff < 60) {
return "только что";
} elseif ($diff < 60 * 60) {
return self::passedMinutes(0, $diff);
} elseif ($diff < 60 * 60 * 24) {
return self::passedHours(0, $diff);
} else {
return $datetime->format($formatDateTime);
}
}
示例3: modifyFromDb
protected static function modifyFromDb($data)
{
$result = array();
foreach ($data as $name => $value) {
if ($name == 'date') {
if ($value instanceof DateTime) {
$value = new \DateTime();
$value->setTimestamp($value->getTimestamp());
} else {
$value = new \DateTime($value);
}
}
if (in_array($name, array('originalData', 'updateData'))) {
$value = \WS\Migrations\jsonToArray($value);
}
$result[$name] = $value;
}
return $result;
}
示例4: saveApplied
/**
* Save coupons applyed info.
*
* @param array $coupons Coupons list.
* @param int $userId User id.
* @param Main\Type\DateTime $currentTime Current datetime.
* @return array|bool
*/
public static function saveApplied($coupons, $userId, Main\Type\DateTime $currentTime)
{
$currentTimestamp = $currentTime->getTimestamp();
if ($userId === null || (int) $userId == 0) {
return false;
}
$userId = (int) $userId;
if (!is_array($coupons)) {
$coupons = array($coupons);
}
if (empty($coupons)) {
return false;
}
Main\Type\Collection::normalizeArrayValuesByInt($coupons);
if (empty($coupons)) {
return false;
}
$deactivateCoupons = array();
$incrementalCoupons = array();
$limitedCoupons = array();
$couponIterator = self::getList(array('select' => array('ID', 'COUPON', 'DISCOUNT_ID', 'TYPE', 'ACTIVE', 'MAX_USE', 'USE_COUNT', 'USER_ID', 'ACTIVE_TO', 'ACTIVE_FROM', 'DISCOUNT_ACTIVE' => 'DISCOUNT.ACTIVE', 'DISCOUNT_ACTIVE_FROM' => 'DISCOUNT.ACTIVE_FROM', 'DISCOUNT_ACTIVE_TO' => 'DISCOUNT.ACTIVE_TO'), 'filter' => array('@ID' => $coupons, '=ACTIVE' => 'Y'), 'order' => array('ID' => 'ASC')));
while ($existCoupon = $couponIterator->fetch()) {
if ($existCoupon['DISCOUNT_ACTIVE'] != 'Y') {
continue;
}
if ($existCoupon['DISCOUNT_ACTIVE_FROM'] instanceof Main\Type\DateTime && $existCoupon['DISCOUNT_ACTIVE_FROM']->getTimestamp() > $currentTimestamp || $existCoupon['DISCOUNT_ACTIVE_TO'] instanceof Main\Type\DateTime && $existCoupon['DISCOUNT_ACTIVE_TO']->getTimestamp() < $currentTimestamp) {
continue;
}
$existCoupon['USER_ID'] = (int) $existCoupon['USER_ID'];
if ($existCoupon['USER_ID'] > 0 && $existCoupon['USER_ID'] != $userId) {
continue;
}
if ($existCoupon['ACTIVE_FROM'] instanceof Main\Type\DateTime && $existCoupon['ACTIVE_FROM']->getTimestamp() > $currentTimestamp || $existCoupon['ACTIVE_TO'] instanceof Main\Type\DateTime && $existCoupon['ACTIVE_TO']->getTimestamp() < $currentTimestamp) {
continue;
}
if ($existCoupon['TYPE'] == self::TYPE_BASKET_ROW || $existCoupon['TYPE'] == self::TYPE_ONE_ORDER) {
$deactivateCoupons[$existCoupon['COUPON']] = $existCoupon['ID'];
} elseif ($existCoupon['TYPE'] == self::TYPE_MULTI_ORDER) {
$existCoupon['MAX_USE'] = (int) $existCoupon['MAX_USE'];
$existCoupon['USE_COUNT'] = (int) $existCoupon['USE_COUNT'];
if ($existCoupon['MAX_USE'] > 0 && $existCoupon['USE_COUNT'] >= $existCoupon['MAX_USE']) {
continue;
}
if ($existCoupon['MAX_USE'] > 0 && $existCoupon['USE_COUNT'] >= $existCoupon['MAX_USE'] - 1) {
$limitedCoupons[$existCoupon['COUPON']] = $existCoupon['ID'];
} else {
$incrementalCoupons[$existCoupon['COUPON']] = $existCoupon['ID'];
}
}
}
unset($existCoupon, $couponIterator, $coupons);
if (!empty($deactivateCoupons) || !empty($limitedCoupons) || !empty($incrementalCoupons)) {
$conn = Application::getConnection();
$helper = $conn->getSqlHelper();
$tableName = $helper->quote(self::getTableName());
if (!empty($deactivateCoupons)) {
$conn->queryExecute('update ' . $tableName . ' set ' . $helper->quote('ACTIVE') . ' = \'N\', ' . $helper->quote('DATE_APPLY') . ' = ' . $helper->getCurrentDateTimeFunction() . ' where ' . $helper->quote('ID') . ' in (' . implode(',', $deactivateCoupons) . ')');
}
if (!empty($incrementalCoupons)) {
$conn->queryExecute('update ' . $tableName . ' set ' . $helper->quote('DATE_APPLY') . ' = ' . $helper->getCurrentDateTimeFunction() . ', ' . $helper->quote('USE_COUNT') . ' = ' . $helper->quote('USE_COUNT') . ' + 1' . ' where ' . $helper->quote('ID') . ' in (' . implode(',', $incrementalCoupons) . ')');
}
if (!empty($limitedCoupons)) {
$conn->queryExecute('update ' . $tableName . ' set ' . $helper->quote('DATE_APPLY') . ' = ' . $helper->getCurrentDateTimeFunction() . ', ' . $helper->quote('ACTIVE') . ' = \'N\', ' . $helper->quote('USE_COUNT') . ' = ' . $helper->quote('USE_COUNT') . ' + 1' . ' where ' . $helper->quote('ID') . ' in (' . implode(',', $limitedCoupons) . ')');
}
unset($tableName, $helper);
}
return array('DEACTIVATE' => $deactivateCoupons, 'LIMITED' => $limitedCoupons, 'INCREMENT' => $incrementalCoupons);
}
示例5: register
public static function register($ownerID, array $entityFields = null, array $options = null)
{
if (!is_int($ownerID)) {
$ownerID = (int) $ownerID;
}
if ($ownerID <= 0) {
throw new Main\ArgumentException('Owner ID must be greater than zero.', 'ownerID');
}
if (!is_array($options)) {
$options = array();
}
if (!is_array($entityFields)) {
$dbResult = \CCrmDeal::GetListEx(array(), array('=ID' => $ownerID, 'CHECK_PERMISSIONS' => 'N'), false, false, array('ID', 'STAGE_ID', 'ASSIGNED_BY_ID', 'BEGINDATE', 'CLOSEDATE'));
$entityFields = is_object($dbResult) ? $dbResult->Fetch() : null;
if (!is_array($entityFields)) {
return false;
}
}
$stageID = isset($entityFields['STAGE_ID']) ? $entityFields['STAGE_ID'] : '';
if ($stageID === '') {
return false;
}
$responsibleID = isset($entityFields['ASSIGNED_BY_ID']) ? (int) $entityFields['ASSIGNED_BY_ID'] : 0;
$startDate = self::parseDateString(isset($entityFields['BEGINDATE']) ? $entityFields['BEGINDATE'] : '');
if ($startDate === null) {
$startDate = new Date();
}
$endDate = self::parseDateString(isset($entityFields['CLOSEDATE']) ? $entityFields['CLOSEDATE'] : '');
if ($endDate === null) {
$endDate = new Date('9999-12-31', 'Y-m-d');
}
$time = isset($options['TIME']) ? $options['TIME'] : null;
if ($time === null) {
$time = new DateTime();
}
$month = (int) $time->format('m');
$quarter = $month <= 3 ? 1 : ($month <= 6 ? 2 : ($month <= 9 ? 3 : 4));
$year = (int) $time->format('Y');
$startMonth = (int) $startDate->format('m');
$startQuarter = $startMonth <= 3 ? 1 : ($startMonth <= 6 ? 2 : ($startMonth <= 9 ? 3 : 4));
$startYear = (int) $startDate->format('Y');
$endMonth = (int) $endDate->format('m');
$endQuarter = $endMonth <= 3 ? 1 : ($endMonth <= 6 ? 2 : ($endMonth <= 9 ? 3 : 4));
$endYear = (int) $endDate->format('Y');
$semanticID = \CCrmDeal::GetSemanticID($stageID);
$isNew = isset($options['IS_NEW']) ? (bool) $options['IS_NEW'] : false;
$typeID = PhaseSemantics::isFinal($semanticID) ? HistoryEntryType::FINALIZATION : ($isNew ? HistoryEntryType::CREATION : HistoryEntryType::MODIFICATION);
$date = Date::createFromTimestamp($time->getTimestamp());
$isLost = PhaseSemantics::isLost($semanticID);
$latest = self::getLatest($ownerID);
if ($latest['STAGE_ID'] === $stageID) {
return false;
}
$result = DealStageHistoryTable::add(array('TYPE_ID' => $typeID, 'OWNER_ID' => $ownerID, 'CREATED_TIME' => $time, 'CREATED_DATE' => $date, 'START_DATE' => $startDate, 'END_DATE' => $endDate, 'PERIOD_YEAR' => $year, 'PERIOD_QUARTER' => $quarter, 'PERIOD_MONTH' => $month, 'START_PERIOD_YEAR' => $startYear, 'START_PERIOD_QUARTER' => $startQuarter, 'START_PERIOD_MONTH' => $startMonth, 'END_PERIOD_YEAR' => $endYear, 'END_PERIOD_QUARTER' => $endQuarter, 'END_PERIOD_MONTH' => $endMonth, 'RESPONSIBLE_ID' => $responsibleID, 'STAGE_ID' => $stageID, 'STAGE_SEMANTIC_ID' => $semanticID, 'IS_LOST' => $isLost ? 'Y' : 'N'));
if ($result->isSuccess() && $result->getId() > 0 && is_array($latest) && (int) $latest['TYPE_ID'] === HistoryEntryType::FINALIZATION) {
DealStageHistoryTable::delete($latest['ID']);
}
return true;
}
示例6: getHourlyCompanyActivitySince
protected static function getHourlyCompanyActivitySince(Type\DateTime $hour = null)
{
$query = new Entity\Query('Bitrix\\Intranet\\UStat\\UserHourTable');
// set all activity columns
$uStatFields = UserHourTable::getEntity()->getFields();
foreach ($uStatFields as $uStatField) {
if ($uStatField instanceof Entity\ScalarField && !$uStatField->isPrimary()) {
$query->addSelect(new Entity\ExpressionField($uStatField->getName() . '_SUM', 'SUM(%s)', $uStatField->getName()));
}
}
// add & automatically group by hour
$query->addSelect('HOUR');
// add filter by date
if ($hour !== null) {
$query->setFilter(array('>=HOUR' => \ConvertTimeStamp($hour->getTimestamp(), 'FULL')));
}
// collect activity
$activity = array();
$result = $query->exec();
while ($row = $result->fetch()) {
foreach ($row as $k => $v) {
if (substr($k, -4) === '_SUM') {
$row[substr($k, 0, -4)] = $v;
unset($row[$k]);
}
}
$activity[] = $row;
}
return $activity;
}
示例7: array
if ($interval == 'hour') {
// first, add hour to axis title
$tmpDate->add('+ 1 ' . $interval);
// adopt to user time
$tmpTZTimestamp = $tmpDate->getTimestamp() + CTimeZone::GetOffset();
}
$data[$key] = array('date' => FormatDate($axisDateFormat, $tmpTZTimestamp), 'cursor_date' => nl2br(FormatDate($axisCursorDateFormat, $tmpTZTimestamp)));
if ($interval == 'hour') {
// remove axis fake hour
$tmpDate->add('- 1 ' . $interval);
}
if ($interval == 'day') {
// add customday property
$data[$key]['custom_day'] = $tmpDate->format($dateFormat);
}
if ($tmpDate->getTimestamp() < $nowDate->getTimestamp()) {
$data[$key]['activity'] = 0;
$data[$key]['company_activity'] = 0;
$data[$key]['department_activity'] = 0;
$data[$key]['self_activity'] = 0;
}
$tmpDate->add('+ 1 ' . $interval);
}
if ($interval == 'hour') {
// replace last 00:00 to 24:00
$data[$key]['date'] = '24';
$data[$key]['cursor_date'] = str_replace('00:00', '24:00', $data[$key]['cursor_date']);
}
// fill data
foreach ($rawData['data'] as $k => $v) {
$data[$k]['activity'] = $v[$sectionField];
示例8: getData
/**
* Return information coupon.
*
* @param string $coupon Coupon for search.
* @param bool $checkCoupon Check coupon data.
* @return array|false
*/
public static function getData($coupon, $checkCoupon = true)
{
$currentTime = new Type\DateTime();
$currentTimestamp = $currentTime->getTimestamp();
if (self::$onlySaleDiscount === null) {
self::initUseDiscount();
}
$coupon = trim((string) $coupon);
if ($coupon === '') {
return false;
}
$checkCoupon = $checkCoupon === true;
$result = array('COUPON' => $coupon, 'MODE' => self::COUPON_MODE_SIMPLE, 'STATUS' => self::STATUS_NOT_FOUND, 'CHECK_CODE' => self::COUPON_CHECK_NOT_FOUND, 'MODULE' => '', 'ID' => 0, 'DISCOUNT_ID' => 0, 'DISCOUNT_NAME' => '', 'TYPE' => Internals\DiscountCouponTable::TYPE_UNKNOWN, 'ACTIVE' => '', 'USER_INFO' => array(), 'SAVED' => 'N');
$resultKeyList = array('ID', 'COUPON', 'DISCOUNT_ID', 'TYPE', 'ACTIVE', 'DISCOUNT_NAME', 'DISCOUNT_ACTIVE', 'DISCOUNT_ACTIVE_FROM', 'DISCOUNT_ACTIVE_TO');
$couponIterator = Internals\DiscountCouponTable::getList(array('select' => array('ID', 'COUPON', 'DISCOUNT_ID', 'TYPE', 'ACTIVE', 'USER_ID', 'MAX_USE', 'USE_COUNT', 'ACTIVE_FROM', 'ACTIVE_TO', 'DISCOUNT_NAME' => 'DISCOUNT.NAME', 'DISCOUNT_ACTIVE' => 'DISCOUNT.ACTIVE', 'DISCOUNT_ACTIVE_FROM' => 'DISCOUNT.ACTIVE_FROM', 'DISCOUNT_ACTIVE_TO' => 'DISCOUNT.ACTIVE_TO'), 'filter' => array('=COUPON' => $coupon)));
if ($existCoupon = $couponIterator->fetch()) {
$result['MODE'] = self::COUPON_MODE_FULL;
$result['MODULE'] = 'sale';
$checkCode = self::checkBaseData($existCoupon, self::COUPON_CHECK_OK);
foreach ($resultKeyList as &$resultKey) {
$result[$resultKey] = $existCoupon[$resultKey];
}
unset($resultKey);
if ($checkCoupon) {
$checkCode = self::checkFullData($existCoupon, $result['MODE'], $checkCode, $currentTimestamp);
self::fillUserInfo($result, $existCoupon, $checkCode);
}
$result['STATUS'] = $checkCode == self::COUPON_CHECK_OK ? self::STATUS_ENTERED : self::STATUS_FREEZE;
$result['CHECK_CODE'] = $checkCode;
unset($checkCode);
} elseif (!self::$onlySaleDiscount && !empty(self::$couponProviders)) {
foreach (self::$couponProviders as &$provider) {
$existCoupon = call_user_func_array($provider['getData'], array($coupon));
if (!empty($existCoupon) && is_array($existCoupon)) {
$result['MODE'] = $provider['mode'];
$result['MODULE'] = $provider['module'];
$checkCode = self::checkBaseData($existCoupon, self::COUPON_CHECK_OK);
foreach ($resultKeyList as &$resultKey) {
$result[$resultKey] = $existCoupon[$resultKey];
}
unset($resultKey);
if ($checkCoupon) {
$checkCode = self::checkFullData($existCoupon, $result['MODE'], $checkCode, $currentTimestamp);
self::fillUserInfo($result, $existCoupon, $checkCode);
}
$result['STATUS'] = $checkCode == self::COUPON_CHECK_OK ? self::STATUS_ENTERED : self::STATUS_FREEZE;
$result['CHECK_CODE'] = $checkCode;
unset($checkCode);
break;
}
}
unset($provider);
}
return $result;
}
示例9: setLastModified
/**
* Sets the latest time for the Last-Modified header field.
*
* @param Type\DateTime $time
*/
public function setLastModified(Type\DateTime $time)
{
if ($this->lastModified === null || $time->getTimestamp() > $this->lastModified->getTimestamp()) {
$this->lastModified = $time;
}
}
示例10: setCoupons
/**
* Set coupons list.
*
* @param array $couponsList Coupons list.
* @param bool $checkCoupons Find coupons.
* @return void
*/
protected static function setCoupons($couponsList, $checkCoupons = true)
{
if (empty($couponsList) || !is_array($couponsList)) {
return;
}
$checkCoupons = $checkCoupons !== false;
if ($checkCoupons) {
foreach ($couponsList as &$coupon) {
$coupon = trim((string) $coupon);
if ($coupon == '') {
continue;
}
$couponData = self::getData($coupon);
if (!isset(self::$coupons[$couponData['COUPON']])) {
$couponData['SORT'] = self::$couponIndex;
self::createApplyFields($couponData);
self::$coupons[$couponData['COUPON']] = $couponData;
self::$couponIndex++;
}
}
unset($couponData, $coupon);
} else {
$currentTime = new Main\Type\DateTime();
$currentTimestamp = $currentTime->getTimestamp();
unset($currentTime);
foreach ($couponsList as $coupon) {
if (empty($coupon) || !is_array($coupon)) {
continue;
}
$checkCode = self::checkBaseData($coupon, self::COUPON_CHECK_OK);
$checkCode = self::checkFullData($coupon, $coupon['MODE'], $checkCode, $currentTimestamp);
$coupon['STATUS'] = $checkCode == self::COUPON_CHECK_OK ? self::STATUS_ENTERED : self::STATUS_FREEZE;
$coupon['CHECK_CODE'] = $checkCode;
unset($checkCode);
if (!isset(self::$coupons[$coupon['COUPON']])) {
$coupon['SORT'] = self::$couponIndex;
self::createApplyFields($coupon);
self::$coupons[$coupon['COUPON']] = $coupon;
self::$couponIndex++;
}
}
unset($coupon, $currentTimestamp);
}
}
示例11: isExpired
/**
* Tells if external link is expired.
* @return bool
*/
public function isExpired()
{
$now = new DateTime();
return $this->deathTime && $now->getTimestamp() > $this->deathTime->getTimestamp();
}
示例12: addVersion
/**
* Adds new version to file.
*
* The method may joins version with last version.
*
* @param array $file Structure like $_FILES.
* @param int $createdBy Id of user.
* @param bool $disableJoin If set false the method attempts to join version with last version (@see \Bitrix\Disk\File::SECONDS_TO_JOIN_VERSION).
* @return Version|null
* @throws \Bitrix\Main\SystemException
*/
public function addVersion(array $file, $createdBy, $disableJoin = false)
{
$this->errorCollection->clear();
$now = new DateTime();
$needToJoin = false;
if (!$disableJoin && $this->updateTime && $this->updatedBy == $createdBy) {
$updateTimestamp = $this->updateTime->getTimestamp();
if ($now->getTimestamp() - $updateTimestamp < self::SECONDS_TO_JOIN_VERSION) {
$needToJoin = true;
}
}
if (!$this->updateContent($file, $createdBy)) {
return null;
}
if ($needToJoin) {
$lastVersion = $this->getLastVersion();
if ($lastVersion) {
if (!$lastVersion->joinData(array_merge(array('CREATE_TIME' => $now), $this->getHistoricalData()))) {
$this->errorCollection->add($lastVersion->getErrors());
return null;
}
if ($this->prevFileId && $this->prevFileId != $this->fileId) {
CFile::delete($this->prevFileId);
}
return $lastVersion;
}
}
$versionModel = Version::add(array_merge(array('OBJECT_ID' => $this->id, 'FILE_ID' => $this->fileId, 'NAME' => $this->name, 'CREATED_BY' => $createdBy), $this->getHistoricalData()), $this->errorCollection);
if (!$versionModel) {
return null;
}
$valueVersionUf = FileUserType::NEW_FILE_PREFIX . $versionModel->getId();
/** @var User $createUser */
$createUser = User::loadById($createdBy);
if (!$createUser) {
//skip
return $versionModel;
}
$text = Loc::getMessage('DISK_FILE_MODEL_UPLOAD_NEW_VERSION_IN_COMMENT_M');
if ($createUser->getPersonalGender() == 'F') {
$text = Loc::getMessage('DISK_FILE_MODEL_UPLOAD_NEW_VERSION_IN_COMMENT_F');
}
foreach ($this->getAttachedObjects() as $attache) {
AttachedObject::storeDataByObjectId($this->getId(), array('IS_EDITABLE' => $attache->isEditable(), 'ALLOW_EDIT' => $attache->getAllowEdit()));
$attache->getConnector()->addComment($createdBy, array('text' => $text, 'versionId' => $valueVersionUf));
AttachedObject::storeDataByObjectId($this->getId(), null);
}
unset($attache);
return $versionModel;
}