PersianDate
Introduction: Persian date for android
Tags:
Install
Gradle
Step 1.Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2.Add the dependency
dependencies {
implementation 'com.github.samanzamani:PersianDate:1.7.1'
}
what's new
version 1.7.1
- Fix add/sub reported bug (Reported By @Alireza-Jamali). #81
- Add new adds methods:
addWeeks,addDays,addMonths,addYears,addHours,addMinutes,.... - Add new subs methods:
subsWeeks,subsDays,subsMonths,subsYears,subsHours,subsMinutes,.... - Increase test coverage.
version 1.6.1
- Add validation for set methods and Init methods (Reported By @ahmad-shoja). #77
- Add
isTodaymethod suggested by AlirezaGhanbarinia. #75 - Add
getGrgMonthLengthmethods for get Gregorian month length. - Add
getGrgMonthNamemethods for get Gregorian month name. - Add new
getMonthNamemethod for get month name with month number. - Increase test coverage.
version 1.5.4
- Correction
Handgkeywords inPersianDateFormatclass. #71
Let's convert some date :)
Step 1
PersianDate pdate = new PersianDate();
Step 2
PersianDateFormat pdformater = new PersianDateFormat();
pdformater.format(pdate);
PersianDateNumberCharacter
Since v1.3.3 you can use PersianDateNumberCharacter.FARSI in PersianDateFomrat object.
PersianDate pDate = new PersianDate();
PersianDateFormat pdformater1 = new PersianDateFormat();
PersianDateFormat pdformater2 = new PersianDateFormat('y F j');
PersianDateFormat pdformater3 = new PersianDateFormat('y F j',PersianDateNumberCharacter.FARSI); //return Farsi character
Or
PersianDate pDate = new PersianDate();
PersianDateFormat.format(pDate,'y F j');
PersianDateFormat.format(pDate,'y F j',PersianDateNumberCharacter.FARSI); //return Farsi character
PersianDate
- PersianDate class methods
| method | description |
|---|---|
| PersianDate(Long timestamp) | make time with timestamp |
| PersianDate(DATE date) | Constractor for make PersianDate object from Date object |
| setShYear(int year) | Set Jalali year |
| setShMonth(int month) | Set Jalali month |
| setShDay(int day) | Set Jalali day |
| setGrgYear(int year) | Set Gregorian year |
| setGrgMonth(int month) | Set Gregorian month |
| setGrgDay(int day) | Set Gregorian day |
| setHour(int hour) | Set hour of day |
| setMinute(int minute) | Set minute of day |
| setSecond(int second) | Set second of day |
| getShYear() | (int) return Jalali year |
| getShMonth() | (int) return Jalali month |
| getShDay() | (int) return Jalali day |
| getGrgYear() | (int) return Gregorian year |
| getGrgMonth() | (int) return Gregorian month |
| getGrgDay() | (int) return Gregorian day |
| getHour() | (int) return hour of day |
| getMinute() | (int) return minute of day |
| getSecond() | (int) return second of day |
| getTime() | (Long) return timestamp |
| initGrgDate() | init date from Gregorian |
| initJalaliDate() | init date from Jalali |
| isLeap() | Check Jalali year is leap (TRUE-FALSE) |
| grgIsLeap() | Check Gregorian year is leap (TRUE-FALSE) |
| toJalali(int year, int month, int day) | Convert Gregorian to Jalali (return int[3]) |
| toGregorian(int year, int month, int day) | Convert Jalali to Gregorian (return int[3]) |
| dayOfWeek() | 0-6 (0=sat) |
| getDayInYear() | 1-366 |
| dayName() | شنبه-جمعه |
| monthName() | فروردین-اسفند |
| getMonthDays() | return month lenght |
| addDate() | add some date to object |
| after(PersianDate dateInput) | Compare 2 date (true=if input date after this) |
| before(PersianDate dateInput) | Compare 2 date (true=if input date before this) |
| equals(PersianDate dateInput) | Compare 2 date (true=if input date equals this) |
| untilToday() | Cal year,month,day until now |
| getDayuntilToday() | Cal day until now |
| toDate | convert to Date object |
PersianDateFormat
- PersianDate class methods for display and parse date
| method | description |
|---|---|
| format() | (String) Display date |
| parse(String date,String pattern) | (PersianDate) Convert string Jalali date (1396-05-05 & 'yyyy-MM-dd') to Persiandate |
| parseGrg(String date,String pattern) | (PersianDate) Convert string Gregorian date (1396-05-05 & 'yyyy-MM-dd') to Persiandate |
| format() | (String) Display date |
- Item for parse date
| String key | Role |
|---|---|
| yyyy | Year (1396-2012-...) |
| MM | Month number (12-01-02-...) |
| dd | Day number (21-01-02-...) |
| HH | Hour (21-01-02-...) |
| mm | Minute (21-01-02-...) |
| ss | Second (21-01-02-...) |
- Pattern item for format date
| Pattern key | Role |
|---|---|
| l | Day name in week (شنبه و ....) |
| j | Day number in month(1-10-20...) |
| F | Month name (فروردین) |
| Y | Year (1396...) |
| H | Hour in day |
| i | Minutes in hour |
| s | Second in minute |
| d | day in month (01-02-21...) |
| g | Hour in day 1-12 |
| n | Month of year 1-12 |
| m | Month of year 01-12 |
| t | number day of month |
| w | day in week 0-6 |
| y | year with 2 digits |
| z | Number of days (full) past the year |
| L | Is leap year (0-1) |
Example
PersianDate pdate = new PersianDate();
PersianDateFormat pdformater1 = new PersianDateFormat('Y/m/d');
pdformater1.format(pdate);//1396/05/20
PersianDateFormat pdformater2 = new PersianDateFormat('y F j');
pdformater2.format(pdate);//۱۹ تیر ۹۶
