android 计算所在周所在月的前后日期,flutter与android混合开发

/** 日期格式:HH:mm **/

public static final String DF_HH_MM = “HH:mm”;

private final static long minute = 60 * 1000;// 1分钟

private final static long hour = 60 * minute;// 1小时

private final static long day = 24 * hour;// 1天

private final static long month = 31 * day;// 月

private final static long year = 12 * month;// 年

/** Log输出标识 **/

private static final String TAG = ToolDateTime.class.getSimpleName();

/**

  • 将日期格式化成友好的字符串:几分钟前、几小时前、几天前、几月前、几年前、刚刚

  • @param date

  • @return

*/

public static String formatFriendly(Date date) {

if (date == null) {

return null;

}

long diff = new Date().getTime() - date.getTime();

long r = 0;

if (diff > year) {

r = (diff / year);

return r + “年前”;

}

if (diff > month) {

r = (diff / month);

return r + “个月前”;

}

if (diff > day) {

r = (diff / day);

return r + “天前”;

}

if (diff > hour) {

r = (diff / hour);

return r + “个小时前”;

}

if (diff > minute) {

r = (diff / minute);

return r + “分钟前”;

}

return “刚刚”;

}

/**

  • 将日期以yyyy-MM-dd HH:mm:ss格式化

  • @param dateL

  •        日期
    
  • @return

*/

public static String formatDateTime(long dateL) {

SimpleDateFormat sdf = new SimpleDateFormat(DF_YYYY_MM_DD_HH_MM_SS);

Date date = new Date(dateL);

return sdf.format(date);

}

/**

  • 将日期以yyyy-MM-dd HH:mm:ss格式化

  • @param dateL

  •        日期
    
  • @return

*/

public static String formatDateTime(long dateL, String formater) {

SimpleDateFormat sdf = new SimpleDateFormat(formater);

return sdf.format(new Date(dateL));

}

/**

  • 将日期以yyyy-MM-dd HH:mm:ss格式化

  • @param dateL

  •        日期
    
  • @return

*/

public static String formatDateTime(Date date, String formater) {

SimpleDateFormat sdf = new SimpleDateFormat(formater);

return sdf.format(date);

}

/**

  • 将日期字符串转成日期

  • @param strDate

  •        字符串日期
    
  • @return java.util.date日期类型

*/

public static Date parseDate(String strDate) {

DateFormat dateFormat = new SimpleDateFormat(DF_YYYY_MM_DD_HH_MM_SS);

Date returnDate = null;

try {

returnDate = dateFormat.parse(strDate);

} catch (ParseException e) {

Log.v(TAG, “parseDate failed !”);

}

return returnDate;

}

/**

  • 获取系统当前日期

  • @return

*/

public static Date gainCurrentDate() {

return new Date();

}

/**

  • 验证日期是否比当前日期早

  • @param target1

  •        比较时间1
    
  • @param target2

  •        比较时间2
    
  • @return true 则代表target1比target2晚或等于target2,否则比target2早

*/

public static boolean compareDate(Date target1, Date target2) {

boolean flag = false;

try {

String target1DateTime = ToolDateTime.formatDateTime(target1,

DF_YYYY_MM_DD_HH_MM_SS);

String target2DateTime = ToolDateTime.formatDateTime(target2,

DF_YYYY_MM_DD_HH_MM_SS);

if (target1DateTime.compareTo(target2DateTime) <= 0) {

flag = true;

}

} catch (Exception e1) {

System.out.println(“比较失败,原因:” + e1.getMessage());

}

return flag;

}

/**

  • 对日期进行增加操作

  • @param target

  •        需要进行运算的日期
    
  • @param hour

  •        小时
    
  • @return

*/

public static Date addDateTime(Date target, double hour) {

if (null == target || hour < 0) {

return target;

}

return new Date(target.getTime() + (long) (hour * 60 * 60 * 1000));

}

最后

考虑到文章的篇幅问题,我把这些问题和答案以及我多年面试所遇到的问题和一些面试资料做成了PDF文档,如果有需要的朋友可以私信我【面试】免费领取

点击这里领取Android面试资料汇总

**

点击这里领取Android面试资料汇总

[外链图片转存中…(img-Mc1rvssl-1646384169796)]

[外链图片转存中…(img-KNRBMGW5-1646384169797)]

喜欢的朋友可以关注、转发、点赞 感谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值