/**
* Предполагается, что dateStart <= dateEnd. Если это не гарантируется, нужно их привести к такому виду внутри функции.
*/
function getIntersectDays(DateTime $dateStart1, DateTime $dateEnd1, DateTime $dateStart2, DateTime $dateEnd2) : int {
$intersectionEnd = min($dateEnd1, $dateEnd2);
$intersectionStart = max($dateStart1, $dateStart2);
if ($intersectionStart >= $intersectionEnd) return 0;
return (int)$intersectionStart->diff($intersectionEnd)->format('%a');
}
git clone https://git.libssh.org/projects/libssh.git libssh
git rm .gitignore
Просто прописать в файле .git/info/exclude .gitignore не помогает.
git clean -fd
node_modules/*
git update-index --skip-worktree <path>
. Можно выполнить ее сразу для всех файлов в папке node_modules, а можно выборочно только для тех которые фактически изменены.# для всех
git ls-files node_modules | xargs git update-index --skip-worktree
# для измененных
git ls-files -m node_modules | xargs git update-index --skip-worktree
git ls-files node_modules
- выводит список файлов, отслеживаемых гитом в папке node_modules, с ключом -m только те, которые модифицированы.xargs
- выполняет соответствующую команду для каждого из этих файлов. curl -O https://download.sublimetext.com/sublimehq-pub.gpg && sudo pacman-key --add sublimehq-pub.gpg && sudo pacman-key --lsign-key 8A8F901A && rm sublimehq-pub.gpg
echo -e "\n[sublime-text]\nServer = https://download.sublimetext.com/arch/stable/x86_64" | sudo tee -a /etc/pacman.conf
sudo pacman -Syu sublime-text
Producer | Consumer
->modify("midnight")
не устанавливает время в начало суток. В документации такого модификатора нету. Для того, чтобы установить начало дня можно использовать ->startOfDay()
.$initial = Carbon::createFromTimestamp(1485943200);
$moscow_midnight = $initial->copy()->timezone('Europe/Moscow')->startOfDay()->getTimestamp();
$samara_midnight = $initial->copy()->timezone('Europe/Samara')->startOfDay()->getTimestamp();
createFromTimestamp
на createFromTimestampUtc
- так поведение скрипта будет более прозрачно/очевидно. Хотя, фактически оно не изменится, но если, допустим, кто-то будет дебажить его может получиться "странная" ситуация. Если запустить код в phpio.net/tools/carbonecho '<br />';require 'Carbon/Carbon.php';
use Carbon\Carbon;
$initial = Carbon::createFromTimestamp(0);
echo "{$initial} {$initial->tzName}<br />";
$samara = $initial->copy()->timezone('Europe/Samara')->startOfDay();
echo "{$samara} {$samara->tzName}<br />";
$initial = Carbon::createFromTimestampUtc(0);
echo "{$initial} {$initial->tzName}<br />";
$samara = $initial->copy()->timezone('Europe/Samara')->startOfDay();
echo "{$samara} {$samara->tzName}<br />";
1969-12-31 18:00:00 US/Central
1970-01-01 00:00:00 Europe/Samara
1970-01-01 00:00:00 +00:00
1970-01-01 00:00:00 Europe/Samara
--prefer-dist
$connection = new MongoDB\Client;
Selects a database on the server. This magic method is an alias for the selectDatabase() method.
$database = $connection->example;
$database = $connection->selectDatabase("example");
$bucket = $database->selectGridFSBucket();
preg_match_all( "/(?<=<code>).*?(?=<\/code>)/uis", $content, $matches );
foreach($matches[0] as $one) {
$obr = htmlspecialchars( $one, ENT_QUOTES, 'UTF-8' );
$content = str_replace( $one, $obr, $content);
}
//</code>
$replaceFunc = function($matches) {
return htmlspecialchars($matches[0], ENT_QUOTES, 'UTF-8');
};
$content = preg_replace_callback("/(?<=<code>).*?(?=<\/code>)/uis", $replaceFunc, $content);
//</code>
break 2
// Список файлов для обработки. Получить ты его можешь как угодно, например scandir.
$files = ['/file1.txt', '/file2.txt'];
$uniqueEmails = [];
foreach ($files as $filePath) {
$emails = file($filePath);
foreach($emails as $email) {
$email = trim($email);
$uniqueEmails[$email] = true;
}
}
$uniqueEmails = array_keys($uniqueEmails);
$uniqueEmails = implode("\n", $uniqueEmails);
file_put_contents('/out.txt', $uniqueEmails);
var date1 = new Date();
date1 = date1.setHours.apply(date1, "18:20".split(":"));
var date2 = new Date();
date2 = date2.setHours.apply(date2, "20:21".split(":"));
var diff = date2 - date1;
^.+(?=\s\w)
^(.+)\s\w