Skip to content

Instantly share code, notes, and snippets.

@Ebazhanov
Created January 17, 2018 11:50
Show Gist options
  • Save Ebazhanov/a21c713ab299649f365813a8d59b73c5 to your computer and use it in GitHub Desktop.
Save Ebazhanov/a21c713ab299649f365813a8d59b73c5 to your computer and use it in GitHub Desktop.
For testing purpose we need to manipulate with DATE and TIME This class provide all necessary FORMAT of required date and time
package de.base.utils.AllOthersUtils
import java.text.DateFormat
import java.text.SimpleDateFormat
/**
* For testing purpose we need to manipulate with DATE and TIME
* This class provide all necessary FORMAT of required date and time
*/
class DateProvider {
private static final SimpleDateFormat MONTH_FORMAT = new SimpleDateFormat("MM")
private static final SimpleDateFormat M_FORMAT = new SimpleDateFormat("M")
private static final DateFormat NUMBER_DAY_FORMAT = new SimpleDateFormat("dd")
private static final DateFormat DAY_FORMAT = new SimpleDateFormat("d")
private static final DateFormat HOURS = new SimpleDateFormat("HH")
private static final DateFormat HOURS_WZERO = new SimpleDateFormat("H")
private static final DateFormat MINUTEN = new SimpleDateFormat("mm")
private static final DateFormat MINUTEN_WZERO = new SimpleDateFormat("m")
private static final DateFormat SEC = new SimpleDateFormat("ss")
private static final DateFormat CSV_FORMAT = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss")
private static final DateFormat CURRENT_DATE_FORMAT = new SimpleDateFormat("dd/MM/yyyy")
private static final DateFormat API_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ")
private static final DateFormat WEBHOOK_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss")
static String DATE_TIME = "2017-" + getCurrentMonth() + "-" + getCurrentDay() + "T" + getCurrentHour() + ":" + getCurrentMinute() + ":" + getCurrentSecond() + "+00:00"
static String getCurrentMonthM() {
Date date = new Date()
return M_FORMAT.format(date)
}
static String getCurrentMonth() {
Date date = new Date()
return MONTH_FORMAT.format(date)
}
static String getCurrenDateSlash() {
Date date = new Date()
return CURRENT_DATE_FORMAT.format(date)
}
static String getModifiedDateSlash(int days) {
Calendar dd = Calendar.getInstance()
dd.add(Calendar.DATE, days)
return CURRENT_DATE_FORMAT.format(dd.getTime())
}
static String getFirstDateOfThisMonth() {
Calendar dd = Calendar.getInstance()
dd.set(Calendar.DAY_OF_MONTH, 1)
return CURRENT_DATE_FORMAT.format(dd.getTime())
}
static String getFirstDateOfLastMonth() {
Calendar dd = Calendar.getInstance()
dd.add(Calendar.MONTH, -1);
dd.set(Calendar.DAY_OF_MONTH, 0)
dd.add(Calendar.DATE, 1)
return CURRENT_DATE_FORMAT.format(dd.getTime())
}
static String getLastDateOfLastMonth() {
Calendar dd = Calendar.getInstance()
dd.set(Calendar.DATE, 1);
dd.add(Calendar.DAY_OF_MONTH, -1)
return CURRENT_DATE_FORMAT.format(dd.getTime())
}
static String getCurrentDay() {
DateFormat dateFormat = NUMBER_DAY_FORMAT
Date date = new Date()
return dateFormat.format(date)
}
static String getCurrentDayWithoutZero() {
DateFormat dateFormat = DAY_FORMAT
Date date = new Date()
return dateFormat.format(date)
}
static String getCurrentHour() {
Date date = new Date()
return HOURS.format(date)
}
static String getCurrentHourWithoutZero() {
Date date = new Date()
return HOURS_WZERO.format(date)
}
static String getCurrentMinute() {
Date date = new Date()
return MINUTEN.format(date)
}
static String getCurrentMinuteWithoutZero() {
Date date = new Date()
return MINUTEN_WZERO.format(date)
}
static String getModifiedDateCSV(int days) {
Calendar dd = Calendar.getInstance()
dd.add(Calendar.DATE, days)
return CSV_FORMAT.format(dd.getTime())
}
static String getModifiedDateCSV(int days, int hours) {
Calendar dd = Calendar.getInstance()
dd.add(Calendar.DATE, days)
dd.add(Calendar.HOUR_OF_DAY, hours)
return CSV_FORMAT.format(dd.getTime())
}
static String getModifiedDateApi(int days, int hours) {
Calendar dd = Calendar.getInstance()
dd.add(Calendar.DATE, days)
dd.add(Calendar.HOUR_OF_DAY, hours)
return API_FORMAT.format(dd.getTime())
}
static String getModifiedDateWebHook(int days, int hours) {
Calendar dd = Calendar.getInstance()
dd.add(Calendar.DATE, days)
dd.add(Calendar.HOUR_OF_DAY, hours)
return WEBHOOK_FORMAT.format(dd.getTime())
}
static String getCurrentSecond() {
Date date = new Date()
return SEC.format(date)
}
static String getCurrentDayModified(int numberOfDay) {
Calendar dd = Calendar.getInstance()
dd.set(Calendar.DAY_OF_MONTH, Integer.parseInt(getCurrentDay()))
dd.add(Calendar.DAY_OF_MONTH, numberOfDay)
return NUMBER_DAY_FORMAT.format(dd.getTime())
}
static String getCurrentDayModifiedWithoutZero(int numberOfDay) {
Calendar dd = Calendar.getInstance()
dd.set(Calendar.DAY_OF_MONTH, Integer.parseInt(getCurrentDay()))
dd.add(Calendar.DAY_OF_MONTH, numberOfDay)
return DAY_FORMAT.format(dd.getTime())
}
static String getCurrentMonthModified(int numberOfMonth) {
Calendar dd = Calendar.getInstance()
dd.set(Calendar.MONTH, Integer.parseInt(getCurrentMonth()))
dd.add(Calendar.MONTH, numberOfMonth)
return MONTH_FORMAT.format(dd.getTime())
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment