首页 > 代码库 > java 时间戳工具类(最好最全)
java 时间戳工具类(最好最全)
package com.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; import android.text.format.DateFormat; public class DateUtil { Calendar cald; public String mDateStringFormat="yyyy-MM-dd"; public String mTimeStringFormat="HH:mm:ss"; public String mDateTimeStringFormat="yyyy-MM-dd HH:mm:ss"; public final static long ONE_DAY_MILLISECONDS = 86400000; /** * 以当前时间,建立一个DateUtil */ public DateUtil() { cald = GregorianCalendar.getInstance(); } /** * 以给定的long型的时间戳,建立一个DateUtil,这个时间戳是和本地time zone 无关的 * @param time */ public DateUtil(long time) { cald = GregorianCalendar.getInstance(); setTime(time); } /** * 用字符串时间来建立一个DateUtil * @param dt * @throws ParseException */ public DateUtil(String dt) throws ParseException { cald = GregorianCalendar.getInstance(); setTime(dt); } /** * 用给定的时间,建立一个dateUtil类 * @param year * @param month * @param day * @param hour * @param minute * @param second */ public DateUtil(int year, int month, int day, int hour, int minute, int second) { cald = GregorianCalendar.getInstance(); setTime(year, month, day, hour,minute,second); } /** * 用一个时间戳来设定当前的DateUtil,,这个时间戳是和本地time zone 无关的 * @param time */ public void setTime(long time) { Date datetime = new Date(time); cald.setTime(datetime); } /** *用一个字符串时间来设定DateUtil的时间,该字符串必须符合一定的格式,缺省的 *格式是yyyy-MM-dd hh:mm:ss, 如果格式不一样,可以通过调用 setDateTimeStringFormat *设定 * @param dt * @throws ParseException */ public void setTime(String dt) throws ParseException { SimpleDateFormat mDateFormat = new SimpleDateFormat(mDateTimeStringFormat); Date datetime = mDateFormat.parse(dt); cald.setTime(datetime); } /** * 设置年、月、日、时、分、秒,注意这些是local time zone 时间 * @param year * @param month * @param day * @param hour * @param minute * @param second */ public void setTime(int year, int month, int day, int hour, int minute, int second) { cald.set(year, month, day, hour, minute, second); } /** * 设置年、月、日 * @param year * @param month * @param day */ public void setDateTime(int year, int month, int day) { cald.set(year, month, day); } /** * 设置时、分、秒 * @param hour * @param minute * @param second */ public void setTimeTime(int hour, int minute, int second) { cald.set(Calendar.HOUR_OF_DAY, hour); cald.set(Calendar.MINUTE, minute); cald.set(Calendar.SECOND, second); } /** * 设置时、分 * @param hour * @param minute * @param second */ public void setShortTimeTime(int hour, int minute) { cald.set(Calendar.HOUR, hour); cald.set(Calendar.MINUTE, minute); } public String getDateString() { SimpleDateFormat mDateFormat = new SimpleDateFormat(mDateStringFormat); return mDateFormat.format(cald.getTime()); } public String getTimeString() { SimpleDateFormat mDateFormat = new SimpleDateFormat(mTimeStringFormat); return mDateFormat.format(cald.getTime()); } /** * 返回unix时间戳,这个是和time zone 没有关系的 * @return */ public long getMillsecond() { return cald.getTime().getTime(); } public int getYear() { return cald.get(Calendar.YEAR); } public int getMonth() { return cald.get(Calendar.MONTH); } public int getDay() { return cald.get(Calendar.DAY_OF_MONTH); } public int getWeek(){ return cald.get(Calendar.DAY_OF_WEEK); } public int getHour() { return cald.get(Calendar.HOUR_OF_DAY); } public int getMinute() { return cald.get(Calendar.MINUTE); } public int getSecond() { return cald.get(Calendar.SECOND); } public void setDateStringFormat(String dsf) { mDateStringFormat = dsf; } public void setTimeStringFormat(String tsf) { mTimeStringFormat = tsf; } public void setDateTimeStringFormat(String tsf) { mDateTimeStringFormat = tsf; } public long getDayStartTick(){ setTimeTime(0,0,0); return ((long)(getMillsecond()/1000.0))*1000;//去掉小于一秒造成的不同 } public long getDayEndTick(){ return getDayStartTick() + ONE_DAY_MILLISECONDS; } public float getLiveDay(long birthday) { long curr = System.currentTimeMillis(); float days = (curr - birthday)/(24*60*60*1000); return days; } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。