自己写项目的时候,由于有中英文版本切换的需要,所以针对各单项时间显示的TextView也需要显示不同的时间。我做的是相簿的部分,有把相机每天拍摄的照片按照时间分类,然后每一天的照片分别展示成一个列表的形式,*台头就是日期,这里会有中英文的差别*。所以就写了个工具类,比较简单。各位一看就懂的。
public class DateTools {
static String[] mMonthStrs;
//中文日期格式
public static final String DATE_CHINA_FORMAT = "yyyy年MM月dd日";
private static SimpleDateFormat chiDateFormat = null;
static {
chiDateFormat = new SimpleDateFormat(DATE_CHINA_FORMAT, Locale.CHINA);
//初始化英文的月份
mMonthStrs = "January|February|March|April|May|June|July|August|September|October|November|December|".split("\|");
}
private static Date mDate;
/**
* 通过传入的时间然后转化为日期,包含中英文的样式
* @param time 字符串的时间
* @return
*/
public static String getDate(String time, Locale locale){
Long ltime = Long.parseLong(time);
mDate = new Date(ltime);
if (locale.equals(Locale.CHINESE)){
return chiDateFormat.format(mDate);
}else if (locale.equals(Locale.ENGLISH)){
Calendar calendar = Calendar.getInstance();
calendar.setTime(mDate);
return mMonthStrs[calendar.get(Calendar.MONTH)]+" "+calendar.get(Calendar.DAY_OF_MONTH)+", "+calendar.get(Calendar.YEAR);
}else {
return "";
}
}
}
好了,大家在调用的时候只需要传递两个参数就可以了,顺便提醒一下,Locale类里面有很多语言类型,哪个地方需要传递一下参数就可以了。
自己手写的一个关于中英文切换时间的工具类
最新推荐文章于 2021-11-11 09:28:18 发布