Last updated:
0 purchases
jdate
Powerful yet original Dart Jalali date and time for developers.
Creat a JDate object from DateTime #
DateTime extension toJDate() creates a JDate object for you:
print(DateTime.now().toJDate()); // 1399/04/29 16:32:36
print(DateTime(2020).toJDate()); // 1398/10/11 00:00:00
print(DateTime(2020, 7).toJDate()); // 1399/04/11 00:00:00
print(DateTime(2020, 7, 16).toJDate()); // 1399/04/26 00:00:00
print(DateTime(2020, 7, 16, 12).toJDate()); // 1399/04/26 12:00:00
print(DateTime(2020, 7, 16, 12, 18).toJDate()); // 1399/04/26 12:18:00
print(DateTime(2020, 7, 16, 12, 18, 30).toJDate()); // 1399/04/26 12:18:30
print(DateTime(2020, 7, 16, 12, 18, 30, 450).toJDate()); // 1399/04/26 12:18:30
copied to clipboard
JDate(year, month, ...) with shamsi date parameters #
You can creates a new jalali date object with a specified shamsi date and time.
print(JDate.now()); // 1399/04/29 16:32:36
print(JDate(1399)); // 1399/01/01 00:00:00
print(JDate(1399, 4)); // 1399/04/01 00:00:00
print(JDate(1399, 4, 15)); // 1399/04/15 00:00:00
print(JDate(1399, 4, 15, 20)); // 1399/04/15 20:00:00
print(JDate(1399, 4, 15, 20, 25)); // 1399/04/15 20:25:00
print(JDate(1399, 4, 15, 20, 25, 30)); // 1399/04/15 20:25:30
print(JDate(1399, 4, 15, 20, 25, 30, 650)); // 1399/04/15 20:25:30
copied to clipboard
Other Constructors #
JDate.utc(int year, [int month = 1,int day = 1,int hour = 0,int minute = 0,int second = 0,int millisecond = 0,int microsecond = 0 ])
JDate.fromDateTime(DateTime date)
JDate.fromMicrosecondsSinceEpoch(int microsecondsSinceEpoch, {bool isUtc = false})
JDate.fromMillisecondsSinceEpoch(int millisecondsSinceEpoch, {bool isUtc = false})
JDate.now()
JDate(...).echo #
var jd = JDate(2019, 4, 3, 10, 33, 30, 0);
print(jd.echo('l، d F Y ساعت H:i:s')); // چهارشنبه، 03 تیر 2019 ساعت 10:33:30
copied to clipboard
Method
Description
Range
Example
a
Before noon and afternoon
ق.ظ - ب.ظ
ق.ظ
b
Numeric representation of a season, without leading zeros
0-3
1
d
Day of the month, 2 digits with leading zeros
01-31
13
f
Season name
بهار-زمستان
بهار
g
12-hour format of an hour without leading zeros
0-12
11
h
12-hour format of an hour with leading zeros
00-12
03
i
Minutes with leading zeros
00-59
13
j
Day of the month without leading zeros
1-31
4
l
A full textual representation of the day of the week
شنبه-جمعه
یکشنبه
m
Numeric representation of a month, with leading zeros
01-12
02
n
Numeric representation of a month, without leading zeros
1-12
2
s
Seconds, with leading zeros
00-59
03
t
Number of days in the given month
0-31
28
u
Millisecond
000000
28
v
Short year display in letters
یک-نهصد و نود و نه
نود و هشت
w
Numeric representation of the day of the week
0-6
6
y
A two or three digit representation of a year
1-999
98
A
Before noon and afternoon
بعد از ظهر - قبل از ظهر
قبل از ظهر
D
Persian ordinal suffix for the day of the month, 2 characters
شن - جم
سه
F
A full textual representation of a month
فروردین - اسفند
اردیبهشت
G
24-hour format of an hour without leading zeros
0-24
3
H
24-hour format of an hour with leading zeros
00-24
03
J
Day of the month
یک-سی و یک
سیزده
L
Whether it’s a leap year
0-1
1
M
A short textual representation of a month, two letters
فر-اس
ار
O
Difference to Greenwich time (GMT) in hours
-1200 - +1400
+0330
V
Full year display in letters
صفر-...
یک هزار و سیصد و نود و هشت
Y
A full numeric representation of a year, 4 digits
0-...
1398
JDate.parse(...) #
You can parse specified shamsi or date from valid date string to convert it to JDate object.
print(JDate.parse('1399/09/09 13:27:00')); // 1399/09/09 13:27:00
print(JDate.parse('1399-09-09 13:27:00')); // 1399/09/09 13:27:00
print(JDate.parse('۱۳۹۹/۰۹/۰۹')); // 1399/09/09 00:00:00
print(JDate.parse('1399/02/13')); // 1399/02/13 00:00:00
print(JDate.parse(JDate(1378).toString())); // 1378/01/01 00:00:00
copied to clipboard
JDate Parameters #
Parameters
Description
Type
Access
microsecondsSinceEpoch
The number of microseconds since the 'Unix epoch' 1970-01-01T00:00:00Z (UTC).
int
read/write
millisecondsSinceEpoch
The number of milliseconds since the 'Unix epoch' 1970-01-01T00:00:00Z (UTC).
int
read/write
microsecond
The microsecond 0...999.
int
read/write
millisecond
The millisecond 0...999.
int
read/write
second
The second 0...59.
int
read/write
minute
The minute 0...59.
int
read/write
hour
The hour of the day, expressed as in a 24-hour clock 0..23.
int
read/write
day
The day of the month 1..31.
int
read/write
month
The month 1..12.
int
read/write
year
The year.
int
read/write
weekday
The day of the week 1...7.
int
read
timeZoneOffset
Difference between local time and UTC.
Duration
read
timeZoneName
The time zone name.
String
read
isUtc
True if this JDate is set to UTC time.
bool
read
isLeapYear
True if this JDate.year is a leap year.
bool
read
weekdayName
Returns the name of weekDay in persian.
String
read
monthName
Returns the name of month in persian.
String
read
shortYear
Returns the short version of year.
int
read
monthLength
Returns number of days in that month.
int
read
JDate Instance Methods #
Method
Description
changeTo({int year,int month,...,bool isUtc})
Change a JDate instance to specified parameters.
echo(String format)
returns String of JDate base on given format.
toString()
Returns a human-readable string for this instance.
toDateTime()
Converts this JDate to a DateTime object with gregorian date.
add(Duration duration)
Returns a new JDate instance with duration added to this.
subtract(Duration duration)
Returns a new JDate instance with duration subtracted from this.
isAtSameMomentAs(JDate other)
Returns true if this occurs at the same moment as other.
isBefore(JDate other)
Returns true if this occurs before other.
isAfter(JDate other)
Returns true if this occurs after other.
Duration difference(JDate other)
Returns a Duration with the difference when subtracting other from this.
compareTo(JDate other)
Compares this JDate object to other, returning zero if the values are equal.
toIso8601String()
Returns an ISO-8601 full-precision extended format representation.
toUtc()
Returns this JDate value in the UTC time zone.
toLocal()
Returns this JDate value in the local time zone.
Static methods #
These methods can be used without creating an instance of the object:
Method
Description
parse(String string)
Parse the string an returns a JDate object, throws Exception if string is not valid
tryParse(String string)
Tries to parse the string an returns a JDate object, returns null if string is not valid
jalaliToGregorian(int year, int month, int date)
Converts Jalali date to Gregorian and return the result as a BasicDate
gregorianToJalali(int year, int month, int date)
Converts Gregorian date to Jalali and return the result as a BasicDate
ummalquraToGregorian(int year, int month, int date)
Converts Ummalqura date to Gregorian and return the result as a BasicDate
gregorianToUmmalqura(int year, int month, int date)
Converts Gregorian date to Ummalqura and return the result as a BasicDate
ummalquraToJalali(int year, int month, int date)
Converts Jalali date to Ummalqura and return the result as a BasicDate
jalaliToUmmalqura(int year, int month, int date)
Converts Ummalqura date to Jalali and return the result as a BasicDate
islamicToGregorian(int year, int month, int date)
Converts Islamic date to Gregorian and return the result as a BasicDate
gregorianToIslamic(int year, int month, int date)
Converts Gregorian date to Islamic and return the result as a BasicDate
islamicToJalali(int year, int month, int date)
Converts Islamic date to Jalali and return the result as a BasicDate
jalaliToIslamic(int year, int month, int date)
Converts Jalali date to Islamic and return the result as a BasicDate
Extension Methods #
These methods can be used on mentioned objects:
Method
Description
String.numbersToEnglish()
Converts Persian digits in string to english digits
String.numbersToPersian()
Converts English digits in string to Persian digits
int.toPersianWords(bool ordinal)
Returns number as Persian text
DateTime.toJdate()
Creates a JDate base on DateTime gregorian date
License #
jdate_dart is available under the BSD 3 Clause license.
Copyright Notice #
The initial version of this library had been written based on JDate.js by Reza Moghaddam.
Date Conversion methods written based on Roozbeh Pournader and Mohammad Toossi work
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.