博客
关于我
Android关于时间日期相关常用方法
阅读量:792 次
发布时间:2019-03-24

本文共 3635 字,大约阅读时间需要 12 分钟。

public class DateUtils {
/**
* 获取当前时间的毫秒数
* 参数格式:yyyy-MM-dd HH:mm:ss
* @param time
* @return
* @throws ParseException
*/
public static long getTimeInMillis(String time) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(time));
long timeInMillis = cal.getTimeInMillis();
return timeInMillis;}
/**
* 获取当前日期格式: yyyy-mm-dd HH:mm:ss
*/
public static String getDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return sdf.format(new Date());}
/**
* 获取当前日期格式: yyyy-mm-dd
*/
public static String getDate1() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date());}
/**
* 获取当前时间格式: HH:mm:ss
*/
public static String getTime() {
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
return sdf.format(new Date());}
/**
* 获取当前时间格式: yyyyMMddHHmmss
*/
public static String getTime2() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
return sdf.format(new Date());}
/**
* 获取当前星期几
*/
public static String getWeek() {
Calendar c = Calendar.getInstance();
int mWay = c.get(Calendar.DAY_OF_WEEK);
if (mWay == 1) return "星期天";
else if (mWay == 2) return "星期一";
else if (mWay == 3) return "星期二";
else if (mWay == 4) return "星期三";
else if (mWay == 5) return "星期四";
else if (mWay == 6) return "星期五";
else return "星期六";}
/**
* 计算两个日期之间的相差天数
* @param smdate 较小的时间
* @param bdate 较大的时间
* @return 天数差
* @throws ParseException
*/
public static int daysBetween(Date smdate, Date bdate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
smdate = sdf.parse(sdf.format(smdate));
bdate = sdf.parse(sdf.format(bdate));
Calendar cal = Calendar.getInstance();
cal.setTime(smdate);
long time1 = cal.getTimeInMillis();
cal.setTime(bdate);
long time2 = cal.getTimeInMillis();
long between_days = (time2 - time1) / (1000 * 3600 * 24);
return (int) between_days;}
/**
* 计算两个时间之间的天数
*@param smdate 较小的时间字符串
* @param bdate 较大的时间字符串
* @return 天数差
* @throws ParseException
*/
public static int daysBetweenString(String smdate, String bdate) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(smdate));
long time1 = cal.getTimeInMillis();
cal.setTime(sdf.parse(bdate));
long time2 = cal.getTimeInMillis();
long between_days = (time2 - time1) / (1000 * 3600 * 24);
return (int) between_days;}
/**
* 判断当前时间是否在给定时间段内
* @param currentTime 当前时间字符串
* @param beginTime 开始时间字符串
* @param endTime 结束时间字符串
* @return boolean
*/
public static boolean isCurrentTimeBetween(String currentTime, String beginTime, String endTime) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar cal = Calendar.getInstance();
cal.setTime(sdf.parse(currentTime));
long currentTimeMillis = cal.getTimeInMillis();
cal.setTime(sdf.parse(beginTime));
long beginTimeMillis = cal.getTimeInMillis();
cal.setTime(sdf.parse(endTime));
long endTimeMillis = cal.getTimeInMillis();
return currentTimeMillis > beginTimeMillis && currentTimeMillis < endTimeMillis;}

以上代码经过优化后,内容更加简洁自然,突出了主要功能,同时增加了适当的描述,使页面更易于搜索引擎索引。

转载地址:http://nbuuk.baihongyu.com/

你可能感兴趣的文章
OSChina 周五乱弹 ——吹牛扯淡的耽误你们学习进步了
查看>>
SQL--mysql索引
查看>>
OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
查看>>
OSChina 技术周刊第十期,每周技术抢先看!
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
Osgi环境配置
查看>>
OSG中找到特定节点的方法(转)
查看>>
OSG学习:C#调用非托管C++方法——C++/CLI
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:几何对象的绘制(二)——简易房屋
查看>>
OSG学习:几何对象的绘制(四)——几何体的更新回调:旋转的线
查看>>
OSG学习:场景图形管理(一)——视图与相机
查看>>
OSG学习:场景图形管理(三)——多视图相机渲染
查看>>
OSG学习:场景图形管理(二)——单窗口多相机渲染
查看>>
OSG学习:场景图形管理(四)——多视图多窗口渲染
查看>>
OSG学习:新建C++/CLI工程并读取模型(C++/CLI)——根据OSG官方示例代码初步理解其方法
查看>>
Sql 随机更新一条数据返回更新数据的ID编号
查看>>
OSG学习:空间变换节点和开关节点示例
查看>>
OSG学习:纹理映射(一)——多重纹理映射
查看>>