1
0
Fork 0
This commit is contained in:
Arsen Mirzaev Tatyano-Muradovich 2025-02-02 18:04:25 +07:00
parent f213c08ae5
commit 0764960606
6 changed files with 161 additions and 2 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
vendor

View File

@ -1,3 +1,19 @@
# time
# Time
Time since Svoboda was created<br>
Time since Svoboda was created
## Dependencies
1. [PHP 8.4](https://www.php.net/releases/8.4/en.php)
2. [Composer](https://getcomposer.org/) (php package manager)
## Installation
`composer require svoboda/time`
## Example
```php
<?php
use svoboda\time\statement as svoboda;
var_dump(svoboda::timestamp());
?>
```

30
composer.json Normal file
View File

@ -0,0 +1,30 @@
{
"name": "svoboda/time",
"description": "Time since Svoboda was created",
"homepage": "https://git.svoboda.works/svoboda/time",
"type": "library",
"readme": "README.md",
"license": "WTFPL",
"authors": [
{
"name": "Arsen Mirzaev Tatyano-Muradovich",
"email": "arsen@mirzaev.sexy",
"homepage": "https://mirzaev.sexy",
"role": "Programmer"
}
],
"require": {
"php": "^8.4"
},
"autoload": {
"psr-4": {
"svoboda\\time\\": "svoboda/time/system"
}
},
"autoload-dev": {
"psr-4": {
"svoboda\\time\\tests\\": "svoboda/time/tests"
}
}
}

20
composer.lock generated Normal file
View File

@ -0,0 +1,20 @@
{
"_readme": [
"This file locks the dependencies of your project to a known state",
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "747a4e9f0ccecc15e0c895de6ed5fed3",
"packages": [],
"packages-dev": [],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": {},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
"php": "^8.4"
},
"platform-dev": {},
"plugin-api-version": "2.6.0"
}

View File

@ -0,0 +1,58 @@
<?php
declare(strict_types=1);
namespace svoboda\time;
// Built-in libraries
use DateTime as datetime;
/**
* Statement
*
*By ATOM format: "Y-m-d\\TH:i:sP"
*
* @see https://www.youtube.com/watch?v=DGqDSEEZjwA Statement of Svoboda creation
* @see https://web.archive.org/web/20250202093707/https://www.youtube.com/watch?v=DGqDSEEZjwA Statement of Svoboda creation (WebArchive)
*
* @package svoboda\time
*
* @method
*
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
*/
final class statement
{
/**
* Statement
*
* @see https://en.wikipedia.org/wiki/Atom_(web_standard) ATOM
* @see https://www.php.net/manual/en/class.datetimeinterface.php#datetimeinterface.constants.atom DateTime ATOM
*
* @var string $statement Time of the statement of Svoboda creation was publishedsda
*/
protected static string $statement = '2024-06-01T20:15:25+00:00';
/**
* Datetime
*
* @return datetime DateTime implementator for the statement publishment time
*/
public static function datetime(): datetime
{
// Exit (success)
return datetime::createFromFormat(datetime::ATOM, static::$statement);
}
/**
* Timestamp
*
* @return int Seconds that passed from the statement was publishment
*/
public static function timestamp(): int
{
// Exit (success)
return new datetime()->getTimestamp() - static::datetime()->getTimestamp();
}
}

View File

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
use svoboda\time\statement as svoboda;
// Initializing path to the composer loader file (main project)
$autoload =
__DIR__ . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'vendor' . DIRECTORY_SEPARATOR .
'autoload.php';
// Reinitializing path to the composer loaded file (depencendy project)
if (!file_exists($autoload))
$autoload = __DIR__ . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'..' . DIRECTORY_SEPARATOR .
'autoload.php';
// Importing files of thr project and dependencies
require($autoload);
echo "Started testing\n\n\n";
// Initializing the counter of actions
$action = 0;
var_dump(svoboda::timestamp());