PHPackages                             yiiman/functions - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yiiman/functions

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

yiiman/functions
================

v0.0.2(4y ago)23.4kPHP

Since Dec 2Pushed 2y ago1 watchersCompare

[ Source](https://github.com/yiiman-dev/farsi-functions)[ Packagist](https://packagist.org/packages/yiiman/functions)[ RSS](/packages/yiiman-functions/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)DependenciesVersions (4)Used By (0)

Composer install
----------------

[](#composer-install)

`composer require yiiman/functions`

توابع تاریخ جلالی
=================

[](#توابع-تاریخ-جلالی)

توابع کاربردی برای برنامه نویسان php فارسی زبان

این توابع بر مبنای پکیج های [jdf.scr.ir](https://jdf.scr.ir/jdf/php) نوشته شده است.

convert\_dateTime
-----------------

[](#convert_datetime)

این تابع تاریخ و زمان میلادی را بر مبنای فرمت

`Y-m-d H:i:s`

دریافت میکند و آن را به شمسی تبدیل میکند

مثال :

`convertdatetime('2021-12-02 08:51:12')` -&gt; `1400/09/11 - 08:51:12`

clear\_zerotime
---------------

[](#clear_zerotime)

حذف زمان خالی از فرمت

`Y-m-d H:i:s`

مثال:

`clear_zerotime('2021-12-02 00:00:00')` -&gt; `2021-12-02`

convert\_date
-------------

[](#convert_date)

تبدیل تاریخ میلادی به شمسی یا شمسی به میلادی

`convert_dateTime('2021-12-02')` -&gt; `1400/09/11`

yearsToShamsi
-------------

[](#yearstoshamsi)

تبدیل دو سال متصل به هم با خط تیره از میلادی به شمسی

`2017-2018` -&gt; `1396-1397`

`yearsToShamsi('2017-2018')` -&gt; `1396-1397`

YearToShamsi
------------

[](#yeartoshamsi)

تبدیل سال میلادی به شمسی

`2017` -&gt; `1396`

`YearToShamsi('2017')` -&gt; `1396`

priceText
---------

[](#pricetext)

این تابع واحد پولی, مبلغ و نوع رند سازی آن را دریافت میکند و از آن یک متن میسازد:

`priceText(256700,'تومان','up')` -&gt; `256.7 هزار تومان`

YearToGregorian
---------------

[](#yeartogregorian)

تبدیل سال شمسی به میلادی

`1396` -&gt; `2017`

`YearToGregorian('1396')` -&gt; `2017`

convertDigit
------------

[](#convertdigit)

این تابع اعداد داخل یک رشته متنی را از فارسی به لاتین یا از لاتین به فارسی تبدیل میکند

`1234567890` -&gt; `۱۲۳۴۵۶۷۸۹۰`

`convertDigit('1234567890')` -&gt; `۱۲۳۴۵۶۷۸۹۰`

numberToWeekday
---------------

[](#numbertoweekday)

نام روز هفته را با دریافت شماره ی آن بازگردانی میکند

`1` -&gt; `شنبه`

`2` -&gt; `یکشنبه`

`3` -&gt; `دوشنبه`

`4` -&gt; `سه شنبه`

`5` -&gt; `چهارشنبه`

`6` -&gt; `پنج شنبه`

`7` -&gt; `جمعه`

روزهای هفته مطابق شماره ی روز ها در تابع

`date`

میباشد

`numberToWeekday(1)` -&gt; `شنبه`

descriptive\_date
-----------------

[](#descriptive_date)

تاریخ توصیفی

همانطور که از نامش پیداست, زمان را توصیف میکند.

برای مثال یک روز قبل, یک ماه قبل, لحظاتی پیش و ...

و اگر تاریخ خیلی دور بود خود تاریخ را به صورت شمسی برمیگرداند

`descriptive_date('2019-12-01 12:22:00')` -&gt; `دو سال قبل`

day2Text
--------

[](#day2text)

تعداد روز ها را به تعداد ماه و سال و یا روز تبدیل می کند، این تابع صرفا برای نمایش بخش های پلن کاربری برای خرید یک اشتراک به کار می رود

`day2Text(90,true)` -&gt; `۳ ماهه`

`day2Text(90,false)` -&gt; `۳ ماه`

`day2Text(365,false)` -&gt; `۱ سال`

`day2Text(90,true)` -&gt; `۱ ساله`

differenceDateDay
-----------------

[](#differencedateday)

اختلاف دو تاریخ میلادی را به واحد روز بازگردانی میکند

`differenceDateDay('2017-12-21','2017-10-21')` -&gt; `61`

differenceHour
--------------

[](#differencehour)

اختلاف دو تاریخ میلادی را به واحد ساعت بازگردانی میکند

`differenceDate('2017-12-21','2017-10-21')` -&gt; `1364`

differenceDateYear
------------------

[](#differencedateyear)

اختلاف دو تاریخ میلادی را به واحد سال بازگردانی میکند

`differenceDateYear('2016-12-21','2017-10-21')` -&gt; `0`

`differenceDateYear('2016-12-21','2017-12-21')` -&gt; `1`

manipulicateDate
----------------

[](#manipulicatedate)

تاریخ را با اعلام متنی به تابع تغییر دهید

این تابع مسیر کوتاه تابع

`strtotime`

است

`manipulicateDate('2016-12-21','+2 days')` -&gt; `2016-12-23`

manipulicateDateTime
--------------------

[](#manipulicatedatetime)

تاریخ و ساعت را با اعلام متنی تغییر دهید

`manipulicateDateTime('2016-12-21 12:30:23','+2 hours')` -&gt; `2016-12-21 14:30:23`

limitText
---------

[](#limittext)

محدود کردن کاراکتر های متن

`limitText('Hi! i am YiiMan, i am php developer',20)` -&gt; `Hi! i am YiiMan, i...`

getClientIP
-----------

[](#getclientip)

آی پی کلاینت را بازگردانی میکند

`getClientIP()` -&gt; `192.87.123.87`

percent2NumberCalculator
------------------------

[](#percent2numbercalculator)

مقدار درصد درخواستی از یک عدد را محاسبه میکند

`percent2NumberCalculator(1000,50)` -&gt; `500`

number2percentCalculator
------------------------

[](#number2percentcalculator)

درصد تغییر میان دو عدد را بازکردانی میکند

`number2percentCalculator(500,2000)` -&gt; `300`

کمک به بهبود این کلاس
---------------------

[](#کمک-به-بهبود-این-کلاس)

عمیقا خوشحال میشم اگر شما برنامه نویسان ایرانی این پکیج رو فورک و اون رو توسعه بدید

البته جان خودت راضی نیستم اگر بخوای از روی این پکیح یک پک اختصاصی برای خودت توسعه بدی و رقیب بشی

اینم از لایسنس :) حتما توسعه هایی که دارید رو داخل همین مخزن آپدیت کنید تا انشاالله یک روز تبدیل به یک پکیج کاربردی ایرانی بشه

متدهای این پکیج در طول سال ها و بر اساس نیاز هایی که در پروژه ها وجود داشته و عمومیت داشته نوشته شده

فقط کافیه پول ریکوئست بزنید و من در خدمت شما هستم

این یک کلاس ایرانی هست, پس بی خیال زبان انگلیسی

میتونید کامیت ها و پول ریکوئست هاتون رو کاملا فارسی بنویسید

منتظر همکاری شما عزیزان هستم

با افتخار

غلامرضا بهشتیان

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

2

Last Release

1626d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/289bca70798b2ce7dadc6fbe072bf8c2ffea21ef7db91a5a2659129b34ca9e4e?d=identicon)[yiiman](/maintainers/yiiman)

---

Top Contributors

[![yiiman-dev](https://avatars.githubusercontent.com/u/11722893?v=4)](https://github.com/yiiman-dev "yiiman-dev (10 commits)")

### Embed Badge

![Health badge](/badges/yiiman-functions/health.svg)

```
[![Health](https://phpackages.com/badges/yiiman-functions/health.svg)](https://phpackages.com/packages/yiiman-functions)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
