Android时间排序

大家都知道Collections这个类是对字符串进行比较排序的,但是有时候给的日期不是很规范,所以只能统一规范日期,然后对其升序排序

好了,直接贴码

/**
 * 由于Collections排序实际上是对字符串进行比较,然后对日期排序,但是有时候给的日期不是很规范,所以想把日期统一化,
 * 这样用Collections进行升序排序
 * 
 * @author Administrator
 * 
 */
public class MainActivity extends Activity {
	private static final String TAG = "MainActivity";

	@SuppressLint("SimpleDateFormat")
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		/**
		 * 原来的日期
		 */

		List<String> list = new ArrayList<String>();
		list.add("2014-03-04 22:22:22");
		list.add("2014-4-04 22:22:22");
		list.add("2014-05-04 22:22:22");
		list.add("2014-03-04 21:22:22");
		list.add("2014-03-2 22:21:22");
		list.add("2014-03-04 8:22:20");
		list.add("2014-03-04 22:22:8");
		list.add("2014-03-04 22:22:01");
		list.add("2014-03-5 22:22:8");

		SimpleDateFormat dateFormat = new SimpleDateFormat(
				"yyyy-MM-dd HH:mm:ss");
		List<String> list2 = new ArrayList<String>();
		/**
		 * 格式化原来的日期,转换为:xxxx-xx-xx xx:xx:xx这样的格式,
		 */
		for (int i = 0; i < list.size(); i++) {
			Date string;
			try {
				/**
				 * 转成标准日期
				 */
				string = dateFormat.parse(list.get(i).toString());
				/**
				 * 格式化成自己设定类型
				 */
				String string2 = dateFormat.format(string);
				Log.i("=======string===", i + "===" + string2);
				/**
				 * 重新放入list集合
				 */
				list2.add(string2);

			} catch (ParseException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
		Collections.sort(list2);
		Log.i(TAG, "=====最初的日期======" + list);
		Log.i(TAG, "=====统一规范后,进行升序排序的日期======" + list2);

		// Log.i("排序之前的list片段", "========" + list.toString());

		// Collections.sort(list);
		// SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");

		// Log.i("排序后的情况,22222,", "=========" + list.toString());

	}

最后的结果是这样子的了


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值