定制 stigwue/happrox 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

stigwue/happrox

Composer 安装命令:

composer require stigwue/happrox

包简介

Human approximation for numbers and durations.

README 文档

README

Human approximation for numbers and durations. Think 98,760 to 98.7k, 3,599s to 58m 59s as in Stackoverflow timestamps and Twitter stat counts.

Installation

Installation is via composer.

composer require stigwue/happrox

Usage

There are only a few configurations needed: the number of decimal places for numbers, the datetime formatting and the maximum duration before direct datetime formats are used. In most cases, the default will do.

Also, to approximate numbers, just supply the value. For durations, the number of seconds will do. One can write custom functions to convert other datetime formats to seconds.

Note that, when supplied durations become greater than the set maximum approximation duration, the supplied duration will be treated as a UNIX timestamp and formatted accordingly. If this is not the case for you, Happrox::setDurationBase() should be set with an appropriate duration to correct the datetime (the default value is 0).

require_once(__DIR__ . '/happrox.php');

//set time zone, no where like home
date_default_timezone_set('Africa/Lagos');

$obj = new Happrox();

echo "Numbers\n";

$happrox = Happrox::number($obj, 10);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::number($obj, 1010);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::number($obj, 123456);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::number($obj, 1010101);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::number($obj, 12345678);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::number($obj, 101010101010);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";

Happrox::setDurationBase($obj, time(NULL));

echo "Durations\n";

$happrox = Happrox::duration($obj, 36);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::duration($obj, 3599);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::duration($obj, 518400);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::duration($obj, 604799);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
$happrox = Happrox::duration($obj, 123456);
echo $happrox['value'] . ' -> ' . $happrox['happrox'] . "\n";
Numbers
10 -> 10
1010 -> 1.0k
123456 -> 123.5k
1010101 -> 1.0M
12345678 -> 12.3M
101010101010 -> 101.0B
Durations
36 -> 36s
3599 -> 59m 59s
518400 -> 6d
604799 -> Jul 22, 2018 7:32am
123456 -> 1d 10hr

To Do

  • Handle Indian style number approximations (lakh)?

  • Introduce switches to format durations for local weekdays (marketdays). Need an array of ordered days and a specific day's assignment (1 Jan 1970 should do).

统计信息

  • 总下载量: 203
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 3
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-07-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固