package com.xxx.yyy;
import android.util.Log;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class DateUtil {
public static String getTodayDateTime() {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss",
Locale.getDefault());
return format.format(new Date());
}
/**
* 调此方法输入所要转换的时间输入例如("2014年06月14日16时09分00秒")返回时间戳
*/
public String data(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒",
Locale.CHINA);
Date date;
String times = null;
try {
date = sdr.parse(time);
long l = date.getTime();
String stf = String.valueOf(l);
times = stf.substring(0, 10);
} catch (Exception e) {
e.printStackTrace();
}
return times;
}
public static String getTodayDateTimes() {
SimpleDateFormat format = new SimpleDateFormat("MM月dd日",
Locale.getDefault());
return format.format(new Date());
}
/**
* 获取当前时间
*/
public static String getCurrentTimeToday() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
return sdf.format(new java.util.Date());
}
/**
* 调此方法输入所要转换的时间输入例如("2014-06-14-16-09-00")返回时间戳
*/
public static String dataOne(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss",
Locale.CHINA);
Date date;
String times = null;
try {
date = sdr.parse(time);
long l = date.getTime();
String stf = String.valueOf(l);
times = stf.substring(0, 10);
} catch (Exception e) {
e.printStackTrace();
}
return times;
}
public static String getTimestamp(String time, String type) {
SimpleDateFormat sdr = new SimpleDateFormat(type, Locale.CHINA);
Date date;
String times = null;
try {
date = sdr.parse(time);
long l = date.getTime();
String stf = String.valueOf(l);
times = stf.substring(0, 10);
} catch (Exception e) {
e.printStackTrace();
}
return times;
}
/**
* 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014年06月14日16时09分00秒")
*/
public static String times(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014-06-14 16:09:00")
*/
public static String timedate(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014年06月14日16:09")
*/
public static String timet(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* time斜杠分开
*/
public static String timeslash(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy/MM/dd,HH:mm");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* time斜杠分开
*/
public static String timeslashData(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy/MM/dd");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
// int i = Integer.parseInt(time);
return sdr.format(new Date(lcc * 1000L));
}
/**
* time斜杠分开
*/
public static String timeMinute(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("HH:mm");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
public static String tim(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyyMMdd HH:mm");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
public static String time(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd HH:mm");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* 调用此方法输入所要转换的时间戳例如(1402733340)输出("2014年06月14日16时09分00秒")
*/
public static String times(long timeStamp) {
SimpleDateFormat sdr = new SimpleDateFormat("MM月dd日 # HH:mm");
return sdr.format(new Date(timeStamp)).replaceAll("#",
getWeek(timeStamp));
}
private static String getWeek(long timeStamp) {
int mydate = 0;
String week = null;
Calendar cd = Calendar.getInstance();
cd.setTime(new Date(timeStamp));
mydate = cd.get(Calendar.DAY_OF_WEEK);
// 获取指定日期转换成星期几
if (mydate == 1) {
week = "周日";
} else if (mydate == 2) {
week = "周一";
} else if (mydate == 3) {
week = "周二";
} else if (mydate == 4) {
week = "周三";
} else if (mydate == 5) {
week = "周四";
} else if (mydate == 6) {
week = "周五";
} else if (mydate == 7) {
week = "周六";
}
return week;
}
// 并用分割符把时间分成时间数组
/**
* 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014-06-14-16-09-00")
*/
public String timesOne(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* 调用此方法输入所要转换的时间戳输入例如(1402733340)输出("2014-06-14")
*/
public static String timesTwo(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
return sdr.format(new Date(i * 1000L));
}
/**
* 并用分割符把时间分成时间数组
*/
public static String[] timestamp(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
@SuppressWarnings("unused")
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
String times = sdr.format(new Date(i * 1000L));
String[] fenge = times.split("[年月日时分秒]");
return fenge;
}
/**
* 根据传递的类型格式化时间
*
* @param str
* @param type 例如:yy-MM-dd
* @return
*/
public static String getDateTimeByMillisecond(String str, String type) {
Date date = new Date(Long.valueOf(str));
SimpleDateFormat format = new SimpleDateFormat(type);
return format.format(date);
}
/**
* 分割符把时间分成时间数组
*/
public String[] division(String time) {
return time.split("[年月日时分秒]");
}
/**
* 输入时间戳变星期
*/
public static String changeweek(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒", Locale.getDefault());
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
String times = sdr.format(new Date(i * 1000L));
Date date = null;
int mydate = 0;
String week = null;
try {
date = sdr.parse(times);
Calendar cd = Calendar.getInstance();
cd.setTime(date);
mydate = cd.get(Calendar.DAY_OF_WEEK);
// 获取指定日期转换成星期几
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (mydate == 1) {
week = "星期日";
} else if (mydate == 2) {
week = "星期一";
} else if (mydate == 3) {
week = "星期二";
} else if (mydate == 4) {
week = "星期三";
} else if (mydate == 5) {
week = "星期四";
} else if (mydate == 6) {
week = "星期五";
} else if (mydate == 7) {
week = "星期六";
}
return week;
}
/**
* 获取日期和星期 例如:2014-11-13 11:00 星期一
*/
public static String getDateAndWeek(String time, String type) {
return getDateTimeByMillisecond(time + "000", type) + " "
+ changeweekOne(time);
}
/**
* 输入时间戳变星期
*/
public static String changeweekOne(String time) {
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
long lcc = Long.valueOf(time);
int i = Integer.parseInt(time);
String times = sdr.format(new Date(i * 1000L));
Date date = null;
int mydate = 0;
String week = null;
try {
date = sdr.parse(times);
Calendar cd = Calendar.getInstance();
cd.setTime(date);
mydate = cd.get(Calendar.DAY_OF_WEEK);
// 获取指定日期转换成星期几
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (mydate == 1) {
week = "星期日";
} else if (mydate == 2) {
week = "星期一";
} else if (mydate == 3) {
week = "星期二";
} else if (mydate == 4) {
week = "星期三";
} else if (mydate == 5) {
week = "星期四";
} else if (mydate == 6) {
week = "星期五";
} else if (mydate == 7) {
week = "星期六";
}
return week;
}
/**
* 获取当前时间
*/
public static String getCurrentTime() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");
return sdf.format(new java.util.Date());
}
/**
* 输入日期如(2014年06月14日16时09分00秒)返回(星期数)
*/
public String week(String time) {
Date date = null;
SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
int mydate = 0;
String week = null;
try {
date = sdr.parse(time);
Calendar cd = Calendar.getInstance();
cd.setTime(date);
mydate = cd.get(Calendar.DAY_OF_WEEK);
// 获取指定日期转换成星期几
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (mydate == 1) {
week = "星期日";
} else if (mydate == 2) {
week = "星期一";
} else if (mydate == 3) {
week = "星期二";
} else if (mydate == 4) {
week = "星期三";
} else if (mydate == 5) {
week = "星期四";
} else if (mydate == 6) {
week = "星期五";
} else if (mydate == 7) {
week = "星期六";
}
return week;
}
/**
* 输入日期如(2014-06-14-16-09-00)返回(星期数)
*/
public String weekOne(String time) {
Date date = null;
SimpleDateFormat sdr = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
int mydate = 0;
String week = null;
try {
date = sdr.parse(time);
Calendar cd = Calendar.getInstance();
cd.setTime(date);
mydate = cd.get(Calendar.DAY_OF_WEEK);
// 获取指定日期转换成星期几
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (mydate == 1) {
week = "星期日";
} else if (mydate == 2) {
week = "星期一";
} else if (mydate == 3) {
week = "星期二";
} else if (mydate == 4) {
week = "星期三";
} else if (mydate == 5) {
week = "星期四";
} else if (mydate == 6) {
week = "星期五";
} else if (mydate == 7) {
week = "星期六";
}
return week;
}
/**
* 获取距现在某一小时的时刻
*
* @param hour hour=-1为上一个小时,hour=1为下一个小时
* @return
*/
public static String getLongTime(int hour) {
// 当时的日期和时间
Calendar c = Calendar.getInstance();
int h; // 需要更改的小时
h = c.get(Calendar.HOUR_OF_DAY) - hour;
c.set(Calendar.HOUR_OF_DAY, h);
SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Log.v("time", df.format(c.getTime()));
return df.format(c.getTime());
}
/**
* 比较时间大小
*
* @param str1:要比较的时间
* @param str2:要比较的时间
* @return
*/
public static boolean isDateOneBigger(String str1, String str2) {
boolean isBigger = false;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
Date dt1 = null;
Date dt2 = null;
try {
dt1 = sdf.parse(str1);
dt2 = sdf.parse(str2);
} catch (ParseException e) {
e.printStackTrace();
}
if (dt1.getTime() > dt2.getTime()) {
isBigger = true;
} else if (dt1.getTime() < dt2.getTime()) {
isBigger = false;
}
return isBigger;
}
/**判断当前是晚上是白天*/
public static boolean isNightForCurrentTime(){
SimpleDateFormat sdf = new SimpleDateFormat("HH");
String hour= sdf.format(new Date());
int k = Integer.parseInt(hour) ;
if ((k>=0 && k<6) ||(k >=18 && k<24)){
return true;
} else {
return false;
}
}
}