commit d5a54508b985ba1ed9f7ccdc3754193a6f043b74 Author: Anton Isaev Date: Sun Aug 18 20:55:28 2019 +0300 Create local maven Helpers repository diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..e23a0f6 --- /dev/null +++ b/.classpath @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4c67062 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/.metadata/ +/.recommenders/ +/RemoteSystemsTempFiles/ +.settings/ \ No newline at end of file diff --git a/.project b/.project new file mode 100644 index 0000000..e859de3 --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + JDate + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/README.md b/README.md new file mode 100644 index 0000000..e4a313f --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# JDate + +Static methods: + +defaultDateFormat = "dd-MM-yyyy" +defaultTimeFormat = "HH:mm:ss" + + void setDefaultDateFormat(String format) + void setDefaultTimeFormat(String format) + + Date getDate(String date) + Date getDate(String date, String time) + String getDate(Date date) + String getTime(Date date) + + Date setDate(Date date, String set) + Date setTime(Date date, String set) + + + int getDay(Date date) + int getMonth(Date date) // 0-January, 1-February, ... 11-December + int getCorrectMonth(Date date) // human-like month numeration (1-January, 2-February, ... 12-December) + int getYear(Date date) + + Date incDay(Date date, int days) + Date incMonth(Date date, int months) + Date incYear(Date date, int years) + + Date nullTime(Date date) + long getDifferenceDays(Date from, Date to) + int getDifferenceYears(Date from, Date to) + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..c091349 --- /dev/null +++ b/pom.xml @@ -0,0 +1,38 @@ + + 4.0.0 + + com.gmail.develop.jcant + JDate + 1.6 + jar + + JDate + Date/Time routines + https://github.com/jcant/JDate.git + + + UTF-8 + 1.8 + + + + + + + diff --git a/src/main/java/com/gmail/develop/jcant/JDate.java b/src/main/java/com/gmail/develop/jcant/JDate.java new file mode 100644 index 0000000..ca31d4a --- /dev/null +++ b/src/main/java/com/gmail/develop/jcant/JDate.java @@ -0,0 +1,170 @@ +package com.gmail.develop.jcant; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.concurrent.TimeUnit; + +public class JDate { + + private static String defaultDateFormat = "dd-MM-yyyy"; + private static String defaultTimeFormat = "HH:mm:ss"; + + public static void setDefaultDateFormat(String format) { + defaultDateFormat = format; + } + + public static void setDefaultTimeFormat(String format) { + defaultTimeFormat = format; + } + + // --- static --- + public static Date getDate(String date) { + SimpleDateFormat sdf = new SimpleDateFormat(defaultDateFormat); + Date result = null; + try { + result = sdf.parse(date); + } catch (ParseException e) { + System.err.println("Error getting quick date!"); + } + return result; + } + + public static Date getDate(String date, String time){ + return setTime(getDate(date), time); + } + + public static String getDate(Date date) { + SimpleDateFormat sdf = new SimpleDateFormat(defaultDateFormat); + String result = sdf.format(date); + return result; + } + + public static Date setDate(Date date, String set){ + if (date == null) { + throw new IllegalArgumentException(); + } + Calendar our = Calendar.getInstance(); + Calendar setter = Calendar.getInstance(); + our.setTime(date); + SimpleDateFormat sdf = new SimpleDateFormat(defaultDateFormat); + try { + setter.setTime(sdf.parse(set)); + } catch (ParseException e) { + e.printStackTrace(); + } + + our.set(setter.get(Calendar.YEAR), setter.get(Calendar.MONTH), setter.get(Calendar.DAY_OF_MONTH)); + return our.getTime(); + } + + public static String getTime(Date date) { + SimpleDateFormat sdf = new SimpleDateFormat(defaultTimeFormat); + String result = sdf.format(date); + return result; + } + + public static Date setTime(Date date, String set){ + if (date == null) { + throw new IllegalArgumentException(); + } + Calendar our = Calendar.getInstance(); + Calendar setter = Calendar.getInstance(); + our.setTime(date); + SimpleDateFormat sdf = new SimpleDateFormat(defaultTimeFormat); + try { + setter.setTime(sdf.parse(set)); + } catch (ParseException e) { + e.printStackTrace(); + } + + our.set(Calendar.HOUR_OF_DAY, setter.get(Calendar.HOUR_OF_DAY)); + our.set(Calendar.MINUTE, setter.get(Calendar.MINUTE)); + our.set(Calendar.SECOND, 0); + return our.getTime(); + } + + public static Date nullTime(Date date){ + if (date == null) { + throw new IllegalArgumentException(); + } + Calendar our = Calendar.getInstance(); + our.setTime(date); + our.set(Calendar.HOUR_OF_DAY, 0); + our.set(Calendar.MINUTE, 0); + our.set(Calendar.SECOND, 0); + our.set(Calendar.MILLISECOND, 0); + return our.getTime(); + } + + public static long getDifferenceDays(Date from, Date to) { + long msDiff = to.getTime() - from.getTime(); + long diff = TimeUnit.DAYS.convert(msDiff, TimeUnit.MILLISECONDS); + + return diff; + } + + public static int getDifferenceYears(Date from, Date to) { + Calendar dayFrom = Calendar.getInstance(); + dayFrom.setTime(from); + Calendar dayTo = Calendar.getInstance(); + dayTo.setTime(to); + + int diff = dayTo.get(Calendar.YEAR) - dayFrom.get(Calendar.YEAR); + dayTo.set(Calendar.YEAR, dayFrom.get(Calendar.YEAR)); + + if (dayFrom.compareTo(dayTo) >= 0) { + diff--; + } + + return diff; + } + + public static int getDay(Date date) { + Calendar day = Calendar.getInstance(); + day.setTime(date); + return day.get(Calendar.DAY_OF_MONTH); + } + + // 0-January, 1-February, ... 11-December + public static int getMonth(Date date) { + Calendar day = Calendar.getInstance(); + day.setTime(date); + return day.get(Calendar.MONTH); + } + + // human-like month numeration + public static int getCorrectMonth(Date date) { + return getMonth(date) + 1; + } + + public static int getYear(Date date) { + Calendar day = Calendar.getInstance(); + day.setTime(date); + return day.get(Calendar.YEAR); + } + + public static Date incDay(Date date, int days) { + Calendar day = Calendar.getInstance(); + day.setTime(date); + day.add(Calendar.DAY_OF_MONTH, days); + return day.getTime(); + } + + public static Date incMonth(Date date, int months) { + Calendar day = Calendar.getInstance(); + day.setTime(date); + day.add(Calendar.MONTH, months); + return day.getTime(); + } + + public static Date incYear(Date date, int years) { + Calendar day = Calendar.getInstance(); + day.setTime(date); + day.add(Calendar.YEAR, years); + return day.getTime(); + } + + //this is comment +} diff --git a/target/JDate-1.6.jar b/target/JDate-1.6.jar new file mode 100644 index 0000000..73b77d2 Binary files /dev/null and b/target/JDate-1.6.jar differ diff --git a/target/classes/META-INF/MANIFEST.MF b/target/classes/META-INF/MANIFEST.MF new file mode 100644 index 0000000..4f0bf26 --- /dev/null +++ b/target/classes/META-INF/MANIFEST.MF @@ -0,0 +1,5 @@ +Manifest-Version: 1.0 +Built-By: jcant +Build-Jdk: 11.0.4 +Created-By: Maven Integration for Eclipse + diff --git a/target/classes/META-INF/maven/com.gmail.develop.jcant/JDate/pom.properties b/target/classes/META-INF/maven/com.gmail.develop.jcant/JDate/pom.properties new file mode 100644 index 0000000..475a085 --- /dev/null +++ b/target/classes/META-INF/maven/com.gmail.develop.jcant/JDate/pom.properties @@ -0,0 +1,7 @@ +#Generated by Maven Integration for Eclipse +#Sun Aug 18 20:54:17 EEST 2019 +m2e.projectLocation=/home/jcant/LuckyProject/Helpers/JDate +m2e.projectName=JDate +groupId=com.gmail.develop.jcant +artifactId=JDate +version=1.6 diff --git a/target/classes/META-INF/maven/com.gmail.develop.jcant/JDate/pom.xml b/target/classes/META-INF/maven/com.gmail.develop.jcant/JDate/pom.xml new file mode 100644 index 0000000..c091349 --- /dev/null +++ b/target/classes/META-INF/maven/com.gmail.develop.jcant/JDate/pom.xml @@ -0,0 +1,38 @@ + + 4.0.0 + + com.gmail.develop.jcant + JDate + 1.6 + jar + + JDate + Date/Time routines + https://github.com/jcant/JDate.git + + + UTF-8 + 1.8 + + + + + + + diff --git a/target/classes/com/gmail/develop/jcant/JDate.class b/target/classes/com/gmail/develop/jcant/JDate.class new file mode 100644 index 0000000..7f064d5 Binary files /dev/null and b/target/classes/com/gmail/develop/jcant/JDate.class differ diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..4386ed3 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Sun Aug 18 20:50:28 EEST 2019 +groupId=com.gmail.develop.jcant +artifactId=JDate +version=1.6 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..e69de29 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..4709e2a --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1 @@ +/home/jcant/LuckyProject/Helpers/JDate/src/main/java/com/gmail/develop/jcant/JDate.java