All Projects → Mds92 → Md.persiandatetime

Mds92 / Md.persiandatetime

A C# library to use PersianCalendar as easy as DateTime

Programming Languages

csharp
926 projects

Projects that are alternatives of or similar to Md.persiandatetime

mds-angular-datetime-picker-package
Angular 2+ And Bootstrap 4+ DateTimePicker
Stars: ✭ 18 (-73.53%)
Mutual labels:  datetime, persian
react-calendar-datetime-picker
A simple and fast date and time picker component for React
Stars: ✭ 58 (-14.71%)
Mutual labels:  datetime, persian
PersianDateRangePicker
Select range of date and time in the Persian
Stars: ✭ 41 (-39.71%)
Mutual labels:  datetime, persian
persiantools
Jalali date and datetime with other tools
Stars: ✭ 101 (+48.53%)
Mutual labels:  datetime, persian
Persiantools
Jalali date and datetime with other tools
Stars: ✭ 57 (-16.18%)
Mutual labels:  persian, datetime
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 (-13.24%)
Mutual labels:  datetime, persian
PersianTools.Core
Persian Tools for .Net and .Net Core
Stars: ✭ 25 (-63.24%)
Mutual labels:  datetime, persian
Nanotime
Nanosecond Resolution Time Functionality for R
Stars: ✭ 39 (-42.65%)
Mutual labels:  datetime
Laydate
layDate(日期与时间组件) 是 layui 独立维护的三大组件之一
Stars: ✭ 1,066 (+1467.65%)
Mutual labels:  datetime
Aion
A friendly Rust utility crate for duration and datetime
Stars: ✭ 37 (-45.59%)
Mutual labels:  datetime
React Calendar
A React Native inspired date list renderer
Stars: ✭ 34 (-50%)
Mutual labels:  datetime
Nerdnews
A free and open source social news website focusing on computer science and FOSS news for Persian community
Stars: ✭ 41 (-39.71%)
Mutual labels:  persian
Flipclock
FlipClock It's a minimalist page-turning clock.
Stars: ✭ 54 (-20.59%)
Mutual labels:  datetime
Tinydate
A tiny (349B) reusable date formatter. Extremely fast!
Stars: ✭ 990 (+1355.88%)
Mutual labels:  datetime
Timefhuman
Convert natural language date-like strings--dates, date ranges, and lists of dates--to Python objects
Stars: ✭ 64 (-5.88%)
Mutual labels:  datetime
Nhazm
A C# version of Hazm (Python library for digesting Persian text)
Stars: ✭ 35 (-48.53%)
Mutual labels:  persian
Persian Twitter
A WebExtension which improves Twitter & TweetDeck user experience for Persian users
Stars: ✭ 66 (-2.94%)
Mutual labels:  persian
When
A natural language date/time parser with pluggable rules
Stars: ✭ 1,113 (+1536.76%)
Mutual labels:  datetime
React Native Jalali Datepicker
📅 React Native Jalali DatePicker component for both Android and iOS ✨
Stars: ✭ 52 (-23.53%)
Mutual labels:  persian
Ganjoor Api
Ganjoor.net REST API
Stars: ✭ 49 (-27.94%)
Mutual labels:  persian

MD.PersianDateTime

A C# library to use PersianCalendar as easy as DateTime تقویم شمسی و هجری قمری در C#

Installing:

.Net Framework 2+

Install-Package MD.PersianDateTime

.Net Standard 2+ (.Net Core)

Install-Package MD.PersianDateTime.Standard

Coding:

Creating new object:

  1. New with DateTime object
var persianDateTime = new PersianDateTime(DateTime.Now);
  1. New with persian date
var persianDateTime = new PersianDateTime(1394, 5, 9);
var persianDateTime = new PersianDateTime(1394, 5, 9, 10, 5, 3);
var persianDateTime = new PersianDateTime(1394, 5, 9, 10, 5, 3, 103);
  1. Parse
var persianDateTime1 = PersianDateTime.Parse("دوشنبه 05 مرداد 1395 ساعت 04:03");
var persianDateTime2 = PersianDateTime.Parse(13901229); // تاریخ
var persianDateTime2 = PersianDateTime.Parse(13901229231232102); // تاریخ به همراه زمان تا دقت میلی ثانیه
var persianDateTime3 = PersianDateTime.Parse("چهارشنبه، ۱۰ دی ۱۳۹۳ ۱۲:۳۸");
var persianDateTime4 = PersianDateTime.Parse("24 آذر 1393");
var persianDateTime5 = PersianDateTime.Parse("د 24 آذر 1393 4:2:5:5 ب.ظ");
var persianDateTime6 = PersianDateTime.Parse("1393/02/01");
var persianDateTime7 = PersianDateTime.Parse("1393/02/01 02:03");
var persianDateTime8 = PersianDateTime.Parse("1393-02-01 02:03:10:30");
var persianDateTime9 = PersianDateTime.Parse("93-1-1 3:15 ب.ظ");
var persianDateTime10 = PersianDateTime.Parse("جمعه 93/2/1 ساعت 3:2 ب.ظ");
  1. Today, Now
var persianDateTime1 = PersianDateTime.Now;
var persianDateTime2 = PersianDateTime.Today; // without time

Enable persian numbers

var persianDateTime = PersianDateTime.Parse("چهارشنبه 5 آذر 58");
persianDateTime.PersianNumber = true;
Console.Write(PersianDateTime.Now.ToString("yyyy/MM/dd"));
// ۱۳۹۹/۱۰/۰۳

Convert to DateTime

PersianDateTime object can convert automatically to datetime without any redundant code

DateTime dateTime = PersianDateTime.Now

Also you can use ToDateTime method

DateTime datetime = persianDateTime.ToDateTime();

Get HijriDate

var persianDateTimeNow = PersianDateTime.Now;
var hijriDateTime = persianDateTimeNow.ToHijri(-1);
Console.WriteLine($"{hijriDateTime.Year}-{hijriDateTime.Month}-{hijriDateTime.Day}");

Formats

you can use the following formats in ToString method.

yyyy: سال چهار رقمی
yy: سال دو رقمی
MMMM: نام فارسی ماه
MM: عدد دو رقمی ماه
M: عدد یک رقمی ماه
dddd: نام فارسی روز هفته
dd: عدد دو رقمی روز ماه
d: عدد یک رقمی روز ماه
HH: ساعت دو رقمی با فرمت 00 تا 24
H: ساعت یک رقمی با فرمت 0 تا 24
hh: ساعت دو رقمی با فرمت 00 تا 12
h: ساعت یک رقمی با فرمت 0 تا 12
mm: عدد دو رقمی دقیقه
m: عدد یک رقمی دقیقه
ss: ثانیه دو رقمی
s: ثانیه یک رقمی
fff: میلی ثانیه 3 رقمی
ff: میلی ثانیه 2 رقمی
f: میلی ثانیه یک رقمی
tt: ب.ظ یا ق.ظ
t: حرف اول از ب.ظ یا ق.ظ

Some useful methods

IsSqlDateTime \\ Check datetime and return a boolean if it is valid for SQL
IsChristianDate \\ Check if the input string is a christian datetime
ElapsedTime \\ Get past time until now e.g: ۱ روز قبل
Add*** \\ add day, month, year, ... to persian datetime
Subtract*** \\ Subtract a datetime from current object
GetDifferenceQuarter \\ Date Difference base on seasons

Comparing

You can compare two PersianDateTime object together with C# operators

var persianDateTime1 = new PersianDateTime(1396, 03, 28);
var persianDateTime2 = new PersianDateTime(1396, 03, 29);
var persianDateTime3 = new PersianDateTime(1396, 03, 28);

persianDateTime1 > persianDateTime2; // false
persianDateTime1 < persianDateTime2; // true
persianDateTime1 == persianDateTime3; // true
persianDateTime1 != persianDateTime3; // false

Add and Subtract with operator

You can use + - operators

var persianDateTime1 = new PersianDateTime(1396, 03, 28);

persianDateTime1 = persianDateTime1 + new TimeSpan(0, 0, 12); // add 12 minutes
persianDateTime1 = persianDateTime1 - new TimeSpan(0, 0, 1); // subtract 1 minutes
persianDateTime1 = persianDateTime1.AddDays(1); // add one day
persianDateTime1 = persianDateTime1.AddMonth(-1); // subtract 1 month
.
.
.

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].