好记性不如铅笔头

android, 编程

Android应用开发笔记:字符串和时间转换

编写android代码的时候经常需要处理时间和字符串之间的转换。在此备忘一下常用的方法。

public class TimeUtils
{
	/*
	 * 将毫秒数转换为特定格式的字符串。
	 * 注意:代码中将市区设置为GMT时区,这样就可以得到正确的时间,而不是加了8小时之后的时间。
	 */
	public static String fmtMs2Str(long millisecond, String pattern)
	{
		if (null == pattern)
		{
			return null;
		}
		
		SimpleDateFormat sdf = new SimpleDateFormat(pattern,Locale.CHINA);
		sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
		return sdf.format(new Date(millisecond));
	}

	/*
	 * 将时间转换为特定格式的字符串。
	 * 注意:android上有特定的工具类,可以简化操作。
	 */
	public static String fmtDate2Str(Date date, String pattern)
	{
		if (null == date || null == pattern)
		{
			return null;
		}
		return DateFormat.format(pattern, date).toString();
		
//		SimpleDateFormat sdf = new SimpleDateFormat(pattern,Locale.CHINA);
//		sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
//		return sdf.format(date);
	}
	
	/*
	 * 将特定格式的字符串转换为时间。
	 */
	public static Date fmtStr2Date(String pattern, String dateStr)
	{
		if (null == pattern || dateStr == null)
		{
			return null;
		}
		Date result = null;
		try {
			result = new SimpleDateFormat(pattern, Locale.CHINA).parse(dateStr);
		} catch (ParseException e) {
			e.printStackTrace();
			result = null;
		}
		return result;
	}
	
	/* 返回毫秒 */
	public static int msBetweenDates(Date before, Date after)
	{
		if (null == before || null == after)
		{
			return 0;
		}
		return (int)(after.getTime() - before.getTime());
	}
}

 

发表评论

3 × 3 =

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据