All Projects → naeemaei → PersianTools.Core

naeemaei / PersianTools.Core

Licence: MIT license
Persian Tools for .Net and .Net Core

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to PersianTools.Core

persiantools
Jalali date and datetime with other tools
Stars: ✭ 101 (+304%)
Mutual labels:  datetime, persian, persiantools
mds-angular-datetime-picker-package
Angular 2+ And Bootstrap 4+ DateTimePicker
Stars: ✭ 18 (-28%)
Mutual labels:  datetime, persian, persiandatetime
PersianDateRangePicker
Select range of date and time in the Persian
Stars: ✭ 41 (+64%)
Mutual labels:  datetime, persian
Persiantools
Jalali date and datetime with other tools
Stars: ✭ 57 (+128%)
Mutual labels:  datetime, persian
pholiday
a persian calendar holidays library for javascript
Stars: ✭ 38 (+52%)
Mutual labels:  persian, iran
Md.persiandatetime
A C# library to use PersianCalendar as easy as DateTime
Stars: ✭ 68 (+172%)
Mutual labels:  datetime, persian
persian-tools-rs
An anthology of a variety of tools for the Persian language in Rust
Stars: ✭ 17 (-32%)
Mutual labels:  persian, iran
react-calendar-datetime-picker
A simple and fast date and time picker component for React
Stars: ✭ 58 (+132%)
Mutual labels:  datetime, persian
DNTPersianComponents.Blazor
A collection of Persian components for Blazor
Stars: ✭ 27 (+8%)
Mutual labels:  persian, iran
prisoners
حبس از دید اعداد واقعی - Persian translation for "Incarceration in real numbers"
Stars: ✭ 22 (-12%)
Mutual labels:  persian, iran
PersianDataAnnotations
PersianDataAnnotations is ASP.NET Core MVC & ASP.NET MVC Custom Localization DataAnnotations (Localized MVC Errors) for Persian(Farsi) language - فارسی سازی خطاهای اعتبارسنجی توکار ام.وی.سی. و کور.ام.وی.سی. برای نمایش اعتبار سنجی سمت کلاینت
Stars: ✭ 38 (+52%)
Mutual labels:  persian, iran
Begiresh
Smart Android App Banner for Persian Markets
Stars: ✭ 28 (+12%)
Mutual labels:  persian, iran
bash-mardom-azar
بشِ مردم آزار!
Stars: ✭ 19 (-24%)
Mutual labels:  persian, iran
matnbaz
📚 The source-code for matnbaz.net. A monorepo containing the back-end (NestJS/Prisma/Apollo), front-end (Next.js/Apollo) and some tooling.
Stars: ✭ 481 (+1824%)
Mutual labels:  persian, iran
shamsi date
A Flutter and Dart package for using Jalali (Shamsi, Solar, Persian or Jalaali) calendar. You can convert, format and manipulate Jalali and Gregorian (Miladi) date and times.
Stars: ✭ 59 (+136%)
Mutual labels:  datetime, persian
IR-Map
Iran map in Scalable Vector Graphics (SVG).
Stars: ✭ 23 (-8%)
Mutual labels:  iran
Nozha-rtl-Dashboard
Nozha is a rtl / ltr Admin Panel with Dark Mode
Stars: ✭ 31 (+24%)
Mutual labels:  persian
alreq
Documenting gaps and requirements for support of Arabic and Persian on the Web and in eBooks.
Stars: ✭ 51 (+104%)
Mutual labels:  persian
swan-aspnetcore
SWAN ASP.NET Core
Stars: ✭ 28 (+12%)
Mutual labels:  dotnetcore
cash-flow
Application for managing cash flows written in ASP.NET Core 6 and Angular 13 (EF Core, Apollo, GraphQL, CQRS)
Stars: ✭ 27 (+8%)
Mutual labels:  dotnetcore

ابزار Persian Tools

ابزاری برای برنامه نویسان دات نت که که فیچرهای زیادی را برای شما فراهم می کند که در ادامه آنها را شرح خواهیم داد.

نکته مهم: با توجه به اینکه برخی تعطیلات بر اساس ماه های قمری می باشند و ممکن است دچار تغییرات شوند که این تغییرات قبل از وقوع حتی در time.ir هم قابل پیش بینی نبوده اند مانند عید فطر سال 1401 بنابراین توجه داشته باشید که درصد خطایی در این حد در کتابخانه وجود دارد


license forks stars
example workflow example workflow example workflow

چگونه آنرا نصب کنیم؟

Nuget Package Manager

Install-Package PersianTools.Core

.NET CLI

dotnet add package PersianTools.Core

نوع جدید تاریخ شمسی

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

فقط نکته ای که اهمیت داره اینه که این نوع Reference Type هستش و باید در استفاده ازش به این نکته نوجه کنید

تعریف تاریخ شمسی

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

var persianDate1 = new PersianDateTime(1399, 10, 13); // 1
var persianDate2 = new PersianDateTime("1399/10/13"); // 2
var persianDate3 = new PersianDateTime("1399/12/29 23:30"); // 3
var persianDate4 = new PersianDateTime("1399/12/29 23:30:00"); // 4
var persianDate5 = new PersianDateTime(1399, 12, 29, 23, 30, 10); // 5
var persianDate6 = new PersianDateTime(DateTime.Now); // 6

مناسبت های یک تاریخ خاص

Example 1:

var dt1 = new PersianDateTime("1401/02/13").GetDateInformation();

Output:
[
  {
    "id": "61-10-02",
    "description": "تعطیل به مناسبت عید سعید فطر",
    "calenderType": 2,
    "dateType": 3,
    "isHoliDay": true,
    "calenderTypeDesc": "قمری",
    "dateTypeDesc": "تعطیل رسمی"
  }
]

Example2

var dt1 = new PersianDateTime("1401/02/15").GetDateInformation();

Output:
[
  {
    "id": "1-02-15",
    "description": "روز بزرگداشت شیخ صدوق",
    "calenderType": 1,
    "dateType": 4,
    "isHoliDay": false,
    "calenderTypeDesc": "شمسی",
    "dateTypeDesc": "مناسبت ملی"
  },
  {
    "id": "1-02-15",
    "description": "جشن میانه بهار ، جشن بهاربد",
    "calenderType": 1,
    "dateType": 4,
    "isHoliDay": false,
    "calenderTypeDesc": "شمسی",
    "dateTypeDesc": "مناسبت ملی"
  },
  {
    "id": "1-02-15",
    "description": "روز شیراز",
    "calenderType": 1,
    "dateType": 4,
    "isHoliDay": false,
    "calenderTypeDesc": "شمسی",
    "dateTypeDesc": "مناسبت ملی"
  },
  {
    "id": "1-05-05",
    "description": "روز جهانی ماما",
    "calenderType": 3,
    "dateType": 5,
    "isHoliDay": false,
    "calenderTypeDesc": "میلادی",
    "dateTypeDesc": "مناسبت بین المللی"
  }
]

فاصله دو تاریخ شمسی

var dt1 = new PersianDateTime("1399/12/29");
var dt2 = new PersianDateTime("1399/11/29");
Convert.ToInt32(dt1.DateDifference(dt2));

Output: 30

ابتدا روز و انتهای روز

var dt1 = new PersianDateTime("1399/12/29 23:30:20");
var start = dt1.ShamsiStartDateTimeOfDay();

Output:
1399/12/29 00:00:00

var dt1 = new PersianDateTime("1399/12/29 23:30:20");
var end = dt1.ShamsiEndDateTimeOfDay();

Output:
1399/12/29 23:59:59

آخرین روز سال

var d1 = PersianDateTime.ShamsiEndDateTimeOfPersianYear(1397);

Output:
1397/12/29

var d2 = PersianDateTime.ShamsiEndDateTimeOfPersianYear(1399);

Output:
1399/12/30

آخرین روز ماه

var d1 = PersianDateTime.ShamsiEndDateTimeOfMonth(1397, 12);

Output:
1397/12/29

var d2 = PersianDateTime.ShamsiEndDateTimeOfMonth(1399, 12);

Output:
1399/12/30

تعداد روزهای کاری در یک بازه تاریخی

var d1 = new PersianDateTime(1397, 8, 1);
var d2 = new PersianDateTime(1397, 8, 30);
PersianDateExtensions.GetWorkingDays(d1,d2);

Output:
20

PersianDateExtensions.GetWorkingDays(d1,d2, true); // با احتساب روزهای پنجشنبه غیر تعطیل

Output:
23

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

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

var result = PersianDateExtensions.GetContinuousHolidays(year, 3);

Output:
[Item1: 1400/03/13 - 1400/03/16, Item2: ...]

تبدیل اعداد به حروف

int price = 11200000;
string faPrice = PersianTools.Core.CharacterUtil.Convert(price).Replace(" ", "");

Output:
یازده میلیون و دویست هزار

اعتبار سنجی کد ملی

var nationalCode = "0032546580";
var validate = nationalCode.IsValidNationalCode();

Output:
True

در حال تکمیل...

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].