Android时间格式H与h,android 时间,日期,各种不同显示的格式化工具

/**

* 这是一个时间转换的工具类

*

* 计算机能识别下面的字母:"yyyy-MM-dd DD HH:mm:ss SSS"

* y代表的是年份,M代表的是月份,d代表的当月的第几天,D代表的是当年的第几天,

* H代表的是小时数,m代表的是分钟数,s代表的秒数,S代表的是毫秒数。这个常识是需要我们记住的。

*

* *方法1:long getTimeLong()

* 获取当前时间的毫秒数

*

* *方法2:int getTimeInt(String filter)

* 输入某种时间格式的字符串,显示当前时间它的数据,比如输入getTimeInt(“DD”)获取今日是当前月的天数

*

* * 方法3:String getTimeString()

* 获取当前时间的完整的格式,比如2016-11-11 8:20:20

*

* * 方法4:String getTimeString(long time)

* 输入一个long类型的数据,获取一个完整格式的时间字符串,获取到的格式和方法三一样

*

* * 方法5: String getTimeString(long time, String filter)

* 输入一个long类型的数据和一个自定义时间的格式的字符串,获取一个自定义的时间字符串,

* 比如getTimeString(1111111L,“MM-dd”)获取的是毫秒数11111111的月分数和天数

*

* * 方法6:String getTimeString( String filter)

* 输入某种时间格式的字符串,显示当前时间它的数据,比如输入getTimeString(“DD”)获取今日是当前月的天数

* 这个方法和方法2相似,不过这里获取到的是字符串,只能用来做显示,而方法二获取到的是数字,可以用来显示和做相关运算。

* * 方法7:String getTimeLong( String filter,String date)

* 输入某种时间格式的字符串和对应时间格式的时间,显示它的毫秒数,比如输入getTimeString(“MM-dd”,“8-12”)获取8月12日的毫秒数

* 这个方法一般用于对两个时间进行比较,从而得出哪一个时间比较久

*/

public class TimeUtil {

/**

* SimpleDateFormat能识别的标识字符

* G 年代标志符

* y 年

M 月

d 日

h 时 在上午或下午 (1~12)

H 时 在一天中 (0~23)

m 分

s 秒

S 毫秒

E 星期

D 一年中的第几天

F 一月中第几个星期几

w 一年中第几个星期

W 一月中第几个星期

a 上午 / 下午 标记符

k 时 在一天中 (1~24)

K 时 在上午或下午 (0~11)

z 时区

*

*/

/**

* 获取当前时间的毫秒数

*/

public static long getTimeLong() {

return System.currentTimeMillis();

}

/**

* 获取当时时间的年,月,日,时分秒

* 这里获得的时int类型的数据,要输入对应的格式

* 比如要获得现在时间的天数值,

* 使用getTime(“MM”),如果现在是2016年5月20日,取得的数字是5;

*/

public static int getTimeInt(String filter) {

//

SimpleDateFormat format = new SimpleDateFormat(filter);

String time = format.format(new Date());

return Integer.parseInt(time);

}

/**

* 获取当时时间的星期几

* 这里获得的时String类型的数据,要输入对应的格式

* 比如要获得现在时间的天数值,

* 使用getTime(“E”),如果现在是周二,取得的字符串是“周二”;

*/

public static String getTimeStringE() {

SimpleDateFormat format = new SimpleDateFormat("E");

String time = format.format(new Date());

return time;

}

/**

* 获取指定时间的年,月,日,时,分,秒

* 这里获得的时int类型的数据,要输入完整时间的字符串和对应的格式

* 比如要获得时间2016-12-12 14:12:10的小时的数值,

* 使用getTime(“2016-12-12 14:12:10”,“HH”);得到14

*/

public static int getTimeInt(String StringTime, String filter) {

//

SimpleDateFormat format = new SimpleDateFormat(filter);

String time = format.format(new Date(getTimeLong("yyyy-MM-dd HH:mm:ss", StringTime)));

return Integer.parseInt(time);

}

/**

* 输入某一个完整的时间字符串,获取周几的字符串

* getTimeStringE(“2017-6-26 14:12:10”,“E”);得到“周一”

*

*@param stringTime

*@return

*/

public static String getTimeStringE(String stringTime) {

SimpleDateFormat format = new SimpleDateFormat("E");

String time = format.format(new Date(getTimeLong("yyyy-MM-dd HH:mm:ss", stringTime)));

return time;

}

/**

* 获取当前时间的完整显示字符串

*/

public static final String getTimeString() {

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return format.format(new Date(getTimeLong()));

}

/**

* 获得某个时间的完整格式的字符串

* 输入的是某个时间的毫秒数,

* 有些时候文件保存的时间是毫秒数,这时就需要转换来查看时间了!

*/

public static final String getTimeString(long time) {

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

return format.format(new Date(time));

}

/**

* 获得自定义格式的时间字符串

* 输入的是某个时间的毫秒数,显示的可以是时间字符串的某一部分

* 比如想要获得某一个时间的月和日,getTimeString(1111111111111,"MM-dd");

*/

public static final String getTimeString(long time, String filter) {

SimpleDateFormat format = new SimpleDateFormat(filter);

return format.format(new Date(time));

}

/**

* 获得自定义格式的当前的时间的字符串

* 比如当前时间2016年8月8日12时8分21秒,getTimeString("yyyy-MM-dd"),可以得到 2016-8-12

*/

public static final String getTimeString(String filter) {

SimpleDateFormat format = new SimpleDateFormat(filter);

return format.format(new Date(getTimeLong()));

}

/**

* 获取某个时间的毫秒数,

* 一般作用于时间先后的对比

* 第一个参数是时间的格式,第二个参数是时间的具体值

* 比如需要知道2016-6-20的毫秒数(小时和分钟默认为零),

* getTimeLong("yyyy-MM-dd","2016-6-20")

* 有时只有月日也是可以的,比如 getTimeLong("MM-dd","6-20") ,一般这个用来比较时间先后

* 记住获得的毫秒数越大,时间就越近你

*/

public static Long getTimeLong(String filter, String date) {

try {

SimpleDateFormat format = new SimpleDateFormat(filter);

Date dateTime = format.parse(date);

return dateTime.getTime();

} catch (Exception e) {

e.printStackTrace();

}

return 0L;

}

/**

* 获得某一个时间字符串中的局部字符串

* 比如:String data= "2016-5-20 12:12:10",要获得后面的时间:5-20或 12:10

* 使用:getTimeLocalString("yyyy-MM-dd HH:mm:ss",data,"MM-dd") ,可以获得5-20

* 如果是data="2016-5-20",要获得后面的5-20,

* 也是一样的用法getTimeLocalString("yyyy-MM-dd ",data,"MM-dd")!

*/

public static String getTimeLocalString(String filter, String data, String filterInside) {

Long timeLong = getTimeLong(filter, data);

return getTimeString(timeLong, filterInside);

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值