0
点赞
收藏
分享

微信扫一扫

android 计算所在周所在月的前后日期,揭秘ARouter路由机制

吴wuwu 2022-03-19 阅读 64
  • 将日期格式化成友好的字符串:几分钟前、几小时前、几天前、几月前、几年前、刚刚

  • @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));

}

/**

  • 对日期进行相减操作

  • @param target

  • 需要进行运算的日期

  • @param hour

  • 小时

  • @return

*/

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

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

return target;

}

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

}

}

MainActivity

package com.yqy.yqy_date;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import android.app.Activity;

import android

android 计算所在周所在月的前后日期,揭秘ARouter路由机制

.os.Bundle;

import android.view.Menu;

import android.widget.TextView;

public class MainActivity extends Activity {

private TextView tv_week, tv_month;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

tv_week = (TextView) findViewById(R.id.tv_week);

tv_month = (TextView) findViewById(R.id.tv_month);

最后

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

android 计算所在周所在月的前后日期,揭秘ARouter路由机制

android 计算所在周所在月的前后日期,揭秘ARouter路由机制

举报

相关推荐

0 条评论