android 对不同日期和时间的格式方法的封装
来源:互联网 发布:少儿编程教育培训 编辑:程序博客网 时间:2024/05/19 10:34
import android.annotation.SuppressLint;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Locale;/** * @version 对不同日期和时间的格式方法的封装 * @类名称:DateUtil * @类描述: 关于日期和时间的管理类 * @创建人:HXF * @修改人: * @创建时间:2016-10-11 下午2:38:14 */public class DateUtil { private static DateUtil instance; private DateUtil() { } public static DateUtil getInstance() { if (instance == null) { synchronized (DateUtil.class) { if (instance == null) { instance = new DateUtil(); } } } return instance; } public final long ONEDAYMIL = 1000 * 60 * 60 * 24; /** * get special time by special rules * * @param time * @return */ @SuppressLint("SimpleDateFormat") public String getSpecTime(long time) { SimpleDateFormat sdf = new SimpleDateFormat("MM-dd hh:mm"); return sdf.format(new Date(time)); } /** * 通过long类型的值返回当前的 星期几 * * @param time * @return */ public String getWeekday(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); int week = calen.get(Calendar.DAY_OF_WEEK); String result = "星期一"; switch (week) { case Calendar.SUNDAY: result = "星期日"; break; case Calendar.MONDAY: result = "星期一"; break; case Calendar.TUESDAY: result = "星期二"; break; case Calendar.WEDNESDAY: result = "星期三"; break; case Calendar.THURSDAY: result = "星期四"; break; case Calendar.FRIDAY: result = "星期五"; break; case Calendar.SATURDAY: result = "星期六"; break; default: result = "星期一"; break; } return result; } /** * 判断两个时间是否属于同一天 * * @param time1 * @param time2 * @return */ public boolean isSameDay(long time1, long time2) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time1); int day1 = calen.get(Calendar.DAY_OF_YEAR); calen.setTimeInMillis(time2); int day2 = calen.get(Calendar.DAY_OF_YEAR); return day1 == day2; } /** * 通过已知参数返回当前时间的年份 * * @param time * @return */ public int getYear(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); return calen.get(Calendar.YEAR); } /** * 通过已知参数返回当前时间的分月(我能识别的1,2,3...) * * @param time * @return */ public int getMonth(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); return calen.get(Calendar.MONTH) + 1; } /** * 通过已知参数返回当前时间的日期(月份的) * * @param time * @return */ public int getDayOfMonth(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); return calen.get(Calendar.DAY_OF_MONTH); } /** * 通过已知参数返回当前时间的日期(年份的) * * @param time * @return */ public int getDayOfYear(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); return calen.get(Calendar.DAY_OF_YEAR); } /** * 通过给定的时间,返回我想要的日期形式 * * @param time * @return */ public String getMyDate(long time) { return getMonth(time) + "月/" + getDayOfMonth(time); } /** * 通过给定的时间,返回我想要的日期形式 * * @param time * @return */ public String getMyDateOne(long time) { return getMonth(time) + "-" + getDayOfMonth(time); } /** * 通过给定时间,返回小时和分钟的时间形式 * @param time * @return */ public String getHourMinute(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); String hour = calen.get(Calendar.HOUR_OF_DAY) + ""; String minute = calen.get(Calendar.MINUTE) + ""; if (minute.length() == 1) { minute = "0" + minute; } return hour + ":" + minute; } /** * @param time * @return * @描述:得到小时的时间形式 */ public String getHour(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); String hour = calen.get(Calendar.HOUR_OF_DAY) + ""; return hour; } /** * @param time * @return * @描述:得到分钟的时间形式 */ public String getMinute(long time) { Calendar calen = Calendar.getInstance(); calen.setTimeInMillis(time); String minute = calen.get(Calendar.MINUTE) + ""; return minute; } /** * @param time * @return * @描述:得到固定格式的月和日07-13 */ public String getDateTime(long time) { SimpleDateFormat sdf = new SimpleDateFormat("MM-dd"); return sdf.format(new Date(time)); } /** * @param time * @return * @描述:得到固定格式的月和日2015-07-13 */ public String getYearOrMonthOrDay(long time) { SimpleDateFormat sdf = new SimpleDateFormat("MM-dd"); return sdf.format(new Date(time)); } /** * @param time * @return * @描述:得到固定格式的分和秒10:30 */ public String getMinuteOrSeconds(long time) { SimpleDateFormat sdf = new SimpleDateFormat("hh:mm"); return sdf.format(new Date(time)); } /** * @param time * @return * @描述:得到固定格式的月和日 */ public String getDayOrMonthOrYear(long time) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); return sdf.format(new Date(time)); } /** * @param time * @return * @描述:得到固定格式的月和日 */ public String getDayOrMonthOrYear2(long time) { SimpleDateFormat sdf = new SimpleDateFormat("MM月dd日"); return sdf.format(new Date(time)); } public String getDayOrMonthOrYear1(long time) { SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); return sdf.format(new Date(time)); } /** * @param time * @return * @描述:得到固定格式的月和日27/01/16 */ public String getCollectionDate(long time) { SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy"); return sdf.format(new Date(time)); } public String dateFormat2(Date date){ return new SimpleDateFormat("yyyy年-MM月-dd日 HH:mm:ss", Locale.getDefault()).format(date); } /** * 计算long类型的时间是一天的下午还是上午 * HH是24小时制的时间 * hh是12小时制的时间 * @param time * @return */ public String getTimeDifference(long time){ SimpleDateFormat sdf = new SimpleDateFormat("HH"); int hour = Integer.parseInt(sdf.format(new Date(time))); System.out.println("hour = "+hour); if (hour<=12){ return "AM"; }else{ return "PM"; } } /** * 计算long类型的时间是一天的下午还是上午 * HH是24小时制的时间 * hh是12小时制的时间 * @param time * @return */ public String getTimeDifferences(long time){ SimpleDateFormat sdf = new SimpleDateFormat("HH:MM"); int hour = Integer.parseInt(sdf.format(new Date(time))); System.out.println("hour = "+hour); if (hour<=12){ return sdf.format(new Date(time)).toString(); }else{// System.out.println("hour2 = "+sdf.format(new Date(time)).toString()); SimpleDateFormat sdfs= new SimpleDateFormat("MM"); int month = Integer.parseInt(sdfs.format(new Date(time))); String.valueOf(hour-12); StringBuffer sb = new StringBuffer(); return sb.append(String.valueOf(hour-12)).append(":").append(String.valueOf(month)).toString(); } }}
0 0
- android 对不同日期和时间的格式方法的封装
- 不同语言对时间戳和日期的相互转换
- 在不同日期格式下批处理输出自定义格式的日期和时间
- js对时间日期的封装
- Android 当前日期,计算时间推后几天和提前几天的封装方法
- 获取不同格式的时间的方法
- 封装日期时间自定义格式方法
- C++封装的日期和时间类
- 破解日期和时间的格式代码
- 机器的日期和时间格式(Instant)
- Android获取手机的当前时间和获取时间的各种不同的格式
- js时间戳格式化成日期格式的多种方法
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android获得当前日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- Android 通过应用设置系统日期和时间的方法
- 使用js对用户输入的日期格式和离职时间大于入职时间的校验
- 深入block
- Android WebView 文本框获取焦点后自动放大有关问题
- Service学习笔记-as下配置aidl
- 215. Kth Largest Element in an Array
- CSS3动画(典型模板)
- android 对不同日期和时间的格式方法的封装
- 收藏的一些关于Android的知识点(持续更新ing)
- linux IPC--管道
- 前端SEO优化
- 【数论】Irrelevant Elements, ACM/ICPC NEERC 2004, UVa1635 【组合数学】
- kinect 1.0 openni sensorkinect 版本
- Android属性动画特性
- 浅谈linux内核中的I2c驱动(1)
- 各种输入输出