本文整理汇总了PHP中DateTime::SetTimeStamp方法的典型用法代码示例。如果您正苦于以下问题:PHP DateTime::SetTimeStamp方法的具体用法?PHP DateTime::SetTimeStamp怎么用?PHP DateTime::SetTimeStamp使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DateTime
的用法示例。
在下文中一共展示了DateTime::SetTimeStamp方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: DateTime
private function DateTime()
{
$offset = 0;
if ($this->valide === false) {
return NULL;
} else {
if ($this->now === true) {
$timeStamp = time();
} else {
$dateTimeZoneEntree = new DateTimeZone($this->FuseauEntree());
$dateTimeEntree = new DateTime();
$dateTimeEntree->SetTimeZone(new DateTimeZone($this->FuseauEntree()));
$dateTime = new DateTime();
$dateTime->SetTimeZone(new DateTimeZone('UTC'));
$offset = $dateTimeZoneEntree->getOffset($dateTime) + $dateTimeEntree->getOffset();
// Offset entre le fuseau d'entrée et l'utc auquel on rajoute l'offset heure d'été.
$timeStamp = mktime($this->Heures(), $this->Minutes(), $this->Secondes() - $offset, $this->Mois(), $this->Jour(), $this->Annee());
/*$dateTimeZoneEntree = new DateTimeZone($this->FuseauEntree());
$dateTimeZoneSortie = new DateTimeZone($this->FuseauSortie());
$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s', $timeStamp), $dateTimeZoneEntree); // Date avec le fuseau horaire d'entrée.
$offset = $dateTimeZoneSortie->getOffset($dateTime) - $dateTimeZoneEntree->getOffset($dateTime) + $dateTime->getOffset(); // Différence entre le fuseau en sortie et celui en entrée + heures d'hiver/été. // Heures d'hiver et d'été.
$timeStamp = mktime($this->Heures(), $this->Minutes(), $this->Secondes()+$offset, $this->Mois(), $this->Jour(), $this->Annee());
$dateTime = DateTime::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s', $timeStamp), $dateTimeZoneSortie); // Date avec le fuseau horaire de sortie.*/
}
}
if ($timeStamp !== false) {
$dateTime = new DateTime();
$dateTime->SetTimeStamp($timeStamp);
$dateTime->SetTimeZone(new DateTimeZone($this->FuseauSortie()));
return $dateTime;
} else {
GLog::LeverException(EXG_0042, 'GLog::DateFormat, valeurs de date invalides [' . $this->Annee() . '-' . $this->Mois() . '-' . $this->Jour() . ' ' . $this->Heures() . ':' . $this->Minutes() . ':' . $this->Secondes() - $offset . '].');
return NULL;
}
}
示例2: TimeZone
public function TimeZone($decalage)
{
$languageTimeZones = self::LangueFuseaux();
$langagesAcceptes = explode(",", $_SERVER["HTTP_ACCEPT_LANGUAGE"]);
$scores = array();
$scoreMax = 0;
$fuseauHoraire = 'UTC';
$timeStamp = time();
$dateTime = new DateTime();
$dateTime->SetTimeStamp($timeStamp);
$dateTime->SetTimeZone(new DateTimeZone('UTC'));
// Pour chaque langue acceptée.
while (list($i, $langage) = each($langagesAcceptes)) {
$coeff = 1 - 0.1 * intval($i);
$pos = stripos($langage, ';');
if ($pos !== false) {
$langage = substr($langage, 0, $pos);
}
$langage = strtolower($langage);
if (array_key_exists($langage, $languageTimeZones)) {
$fuseaux = $languageTimeZones[$langage];
// Pour chaque fuseaux de la langue.
while (list($i, $fuseau) = each($fuseaux)) {
$dateTimeZone = new DateTimeZone($fuseau);
// Si le décalage horaire est le même que celui passé en argument.
if ($dateTimeZone->GetOffset($dateTime) == $decalage) {
if (!array_key_exists($fuseau, $scores)) {
$scores[$fuseau] = 0;
}
// Augmentation du score de probabilité du fuseau.
$scores[$fuseau] += $coeff;
// Si le score du fuseau devient le plus grand c'est le nouveau fuseau dominant.
if ($scoreMax < $scores[$fuseau]) {
$scoreMax = $scores[$fuseau];
$fuseauHoraire = $fuseau;
}
}
unset($dateTimeZone);
}
}
}
unset($languageTimeZones);
// Si on n'a pas trouvé un fuseau horaire par l'algo intelligent, on prend le premier qui correspond au décalage.
if ($fuseauHoraire == 'UTC') {
$fuseaux = timezone_abbreviations_list();
foreach ($fuseaux as $fuseau) {
foreach ($fuseau as $ville) {
if ($ville['offset'] == $decalage) {
$fuseauHoraire = $ville['timezone_id'];
return $fuseauHoraire;
}
}
}
}
return $fuseauHoraire;
}