samanzamani/PersianDate


Persian date for android

Download


Step 1. Add the JitPack repository to your build file

Add it in your root settings.gradle at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url 'https://jitpack.io' }
		}
	}

Add it in your settings.gradle.kts at the end of repositories:

	dependencyResolutionManagement {
		repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
		repositories {
			mavenCentral()
			maven { url = uri("https://jitpack.io") }
		}
	}

Add to pom.xml

	<repositories>
		<repository>
		    <id>jitpack.io</id>
		    <url>https://jitpack.io</url>
		</repository>
	</repositories>

Add it in your build.sbt at the end of resolvers:

 
    resolvers += "jitpack" at "https://jitpack.io"
        
    

Add it in your project.clj at the end of repositories:

 
    :repositories [["jitpack" "https://jitpack.io"]]
        
    

Step 2. Add the dependency

	dependencies {
		implementation 'com.github.samanzamani:persiandate:1.7.1'
	}
	dependencies {
		implementation("com.github.samanzamani:persiandate:1.7.1")
	}
	<dependency>
	    <groupId>com.github.samanzamani</groupId>
	    <artifactId>persiandate</artifactId>
	    <version>1.7.1</version>
	</dependency>

                            
    libraryDependencies += "com.github.samanzamani" % "persiandate" % "1.7.1"
        
        

                            
    :dependencies [[com.github.samanzamani/persiandate "1.7.1"]]
        
        

Readme


Persian Date(Jalali)

forthebadge forthebadge <br/> platform Android Arsenal Method and size

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 isToday method suggested by AlirezaGhanbarinia. #75
  • Add getGrgMonthLength methods for get Gregorian month length.
  • Add getGrgMonthName methods for get Gregorian month name.
  • Add new getMonthName method for get month name with month number.
  • Increase test coverage.

version 1.5.4

  • Correction H and g keywords in PersianDateFormat class. #71

Let's convert some date :)

Step 1

PersianDate pdate = new PersianDate();

Step 2

PersianDateFormat pdformater = new PersianDateFormat();
pdformater.format(pdate);

More example

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);//۱۹ تیر ۹۶