代码任务不重,日常记录
1. 导入rxjava框架
//rxjava rxandroid
api 'io.reactivex.rxjava2:rxjava:2.2.19'
api 'io.reactivex.rxjava2:rxandroid:2.1.1'
api 'com.trello.rxlifecycle2:rxlifecycle-android-lifecycle:2.2.2'
2. 新建一个日期管理类
public class TimeUtil {
//时间格式
public final static String FORMAT_TIME = "HH:mm";
public final static String FORMAT_DATE_TIME = "yyyy-MM-dd HH:mm";
public final static String FORMAT_YEAR_MONTH_DAY = "yyyy/MM/dd";
public final static String FORMAT_HOUR_MINUTES_SECOND = "HH:mm:ss";
public final static String FORMAT_DATE_TIME_SECOND = "yyyy-MM-dd HH:mm:ss";
public final static String FORMAT_MONTH_DAY_TIME = "MM-dd HH:mm";
public final static String FORMAT_DATE = "yyyy-MM-dd";
/**
* 根据当前时间戳转换成年月日 yyyy/MM/dd
*
* @param timestamp
* @return
*/
public static String getTimeYearMonthDay(long timestamp) {
SimpleDateFormat format = new SimpleDateFormat(FORMAT_YEAR_MONTH_DAY);
return format.format(new Date(timestamp));
}
/**
* 根据当前时间戳转换成时分秒
*
* @param timestamp
* @return
*/
public static String getTimeHourMinutesSecond(long timestamp) {
SimpleDateFormat format = new SimpleDateFormat(FORMAT_HOUR_MINUTES_SECOND);
return format.format(new Date(timestamp));
}
/**
* 根据当前时间戳获得是星期几
*
* @param timestamp 时间戳
* @return
*/
public static String getTimeWeek(long timestamp) {
Date date = new Date(timestamp);
String Week = "";
Calendar c = Calendar.getInstance();
c.setTime(date);
int wek = c.get(Calendar.DAY_OF_WEEK);
if (wek == 1) {
Week += "星期日";
}
if (wek == 2) {
Week += "星期一";
}
if (wek == 3) {
Week += "星期二";
}
if (wek == 4) {
Week += "星期三";
}
if (wek == 5) {
Week += "星期四";
}
if (wek == 6) {
Week += "星期五";
}
if (wek == 7) {
Week += "星期六";
}
return Week;
}
}
3. 开启线程实现
//interval四个参数分别为:延时0单位时间开始,每隔1单位时间刷新,单位时间(NANOSECONDS,MICROSECONDS,MILLISECONDS,SECONDS,MINUTES,HOURS,DAYS)。
Disposable realTimeDisposable = Observable.interval(0, 1, TimeUnit.SECONDS)
.map(new Function<Long, Long>() {
@Override
public Long apply(Long aLong) throws Exception {
return aLong;
}
})
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Consumer<Long>() {
@Override
public void accept(Long aLong) throws Exception {
//年月日
Log.i("yyyy/MM/dd", TimeUtil.getTimeYearMonthDay(System.currentTimeMillis()));
//时分秒
Log.i("HH:mm:ss", TimeUtil.getTimeHourMinutesSecond(System.currentTimeMillis()));
Log.i("星期几", TimeUtil.getTimeWeek(System.currentTimeMillis()));
}
});
如果本篇文章对您有帮助 麻烦点个赞支持一下
网友评论