public virtual List<Zakupki> Zakupki { get; set; }
public virtual List<Zakladki> Zakladki { get; set; }
public virtual List<Vivod> Vivod { get; set; }
public virtual List<Prodagi> Prodagi { get; set; }
, то есть навигационные свойства были null.[HttpPost]
public ActionResult Delete(Partiya partiya)
{
BirdKeepingDBContext context = new BirdKeepingDBContext();
if (ModelState.IsValid)
{
Partiya part = context.Partiya
.Include("Zakupki")
.Include("Zakladki")
.Include("Vivod")
.Include("Prodagi")
.Single(p => p.NomerPartii == partiya.NomerPartii);
context.Partiya.Remove(part);
context.SaveChanges();
}
return View(partiya);
}
context.Partiya
.Include("Zakupki")
.Include("Zakladki")
.Include("Vivod")
.Include("Prodagi")
$periodString = '12:00-02:00';
$weekDay = 'Friday';
$period = [
'start' => new DateTime(),
'end' => new DateTime(),
];
$day = (int)date('d', strtotime('this '.$weekDay));
$month = (int)date('m', strtotime('this '.$weekDay));
$year = (int)date('Y', strtotime('this '.$weekDay));
foreach (array_combine(['start', 'end'], explode('-', $periodString)) as $type => $part)
{
list($hour, $minute) = explode(':', $part);
$hour = (int)$hour;
$minute = (int)$minute;
$date = $period[$type];
$date->setDate($year, $month, $day);
$date->setTime($hour, $minute);
}
if ($period['start'] > $period['end'])
{
$period['end']->add(new DateInterval('P1D'));
}
$now = new DateTime();
$isInInterval = $now >= $period['start'] && $now <= $period['end'];
var_dump($isInInterval);
class Interval
{
private $data;
private $timezone;
private $start;
private $end;
public function __construct($serialized, $timezoneName = 'UTC')
{
$this->parse($serialized);
$this->timezone = new DateTimeZone($timezoneName);
$this->makeStart();
$this->makeEnd();
}
public function contains(DateTimeInterface $date)
{
return $date >= $this->start && $date <= $this->end;
}
public function isNow()
{
$now = new DateTimeImmutable('now', $this->timezone);
return $this->contains($now);
}
private function parse($serialized)
{
$parts = explode('-', $serialized);
$this->data = [
'start' => $this->parsePart($parts[0]),
'end' => $this->parsePart($parts[1]),
];
}
private function makeStart()
{
$this->start = $this->makeDate($this->data['start']['hour'], $this->data['start']['minute']);
}
private function makeEnd()
{
$this->end = $this->makeDate($this->data['end']['hour'], $this->data['end']['minute']);
$this->ensureEndIsAfterStart();
}
private function parsePart($part)
{
list($hour, $minute) = explode(':', $part);
return [
'hour' => $hour,
'minute' => $minute,
];
}
private function makeDate($hour, $minute)
{
list($day, $month, $year) = explode('.', date('d.m.Y'));
$date = new DateTime('now', $this->timezone);
$date->setDate($year, $month, $day);
$date->setTime($hour, $minute);
return $date;
}
private function ensureEndIsAfterStart()
{
if ($this->start > $this->end)
{
$this->end->add(new DateInterval('P1D'));
}
}
}
// Примеры использования:
$interval = new Interval('11:59-02:00', 'Europe/Moscow');
var_dump($interval->isNow());
$date = new DateTime('now', new DateTimeZone('Europe/Moscow'));
$date->add(new DateInterval('PT8H'));
var_dump($interval->contains($date));
li {
position: relative;
}
li::after {
position: absolute;
content: '';
top: 50%;
right: 0;
width: 2px;
height: 40px;
background: red;
}
li
может быть и a
if(false !== $tm = strtotime($date)) {
$date = date('Y-m-d H:i:s', $tm);
print 'date ok';
}
Представим, что количество простых чисел конечно. Перемножим их и прибавим единицу. Полученное число не делится ни на одно из конечного набора простых чисел, потому что остаток от деления на любое из них даёт единицу. Значит, число должно делиться на некоторое простое число, не включённое в этот набор.
Основная теорема арифметики утверждает, что любое составное число может быть разложено в произведение простых множителей