论坛首页 Java企业应用论坛

Java中时间转换的各种方式和Map中的冒泡排序

浏览 2501 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-04-21   最后修改:2009-04-21

  为了以后便于查找,整理了一下,和大家共享!还有好的方式的话,望大家不吝指教,一起讨论!

	public  void convertDate(){
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String strDate = "2008-08-08 20:00:00";
		String endDate="2008-08-24 22:10:40";
		Date sDate;
		try {
			sDate = sdf.parse(strDate);
			Date eDate = sdf.parse(endDate);
			long time=eDate.getTime()-sDate.getTime();
			long total = time / 60/ 60 / 1000 / 24; // 计算天数的公式	
			System.out.println("天数差:"+total);
			long minutes=time/1000/60;//总的分钟数
			System.out.println("总的分钟数:"+minutes);
		    long mins=(long)minutes%60;//获取时间差的分钟数
		    System.out.println("时间差(分钟)"+mins);
		    long hours=time/1000/60/60;
		    System.out.println("总小时数:"+hours);
		    long hoursa=hours%24;
		    System.out.println("小时差:"+hoursa);
		    long ss=time/1000; //共计秒数
		    System.out.println("总秒数:"+ss);
		    int seconds=(int)ss%60;
		    System.out.println("秒数差:"+seconds);
//			String startTime = sdf.format(Long.parseLong("1208275200000")).replace('-', '/')+" "+"02:00:00";// 转换成例如2008/06/18起始时间
//			String endTime = sdf.format(Long.parseLong("1208275200000")).replace('-', '/')+" "+"05:00:00";// 转换成例如2008/06/18结束时间
//		    long time=new Date(endTime).getTime()-new Date(startTime).getTime();
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
	/*****************
	 * 获取某月的最大天数
	 ******************/
	public  void calendar() throws ParseException{
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
		// 获得要查询的时间的月份的最大天数
		Date date = sdf.parse("2008-08");
		Calendar ymCalendar = Calendar.getInstance();
		System.out.println("!"+ymCalendar);
		ymCalendar.clear();
		ymCalendar.setTime(date);
		int dayOfMonthCount = ymCalendar.getActualMaximum(Calendar.DAY_OF_MONTH);
		System.out.println(dayOfMonthCount);
	}

                  冒泡排序:

//冒泡排序
	public  void sort(){
		Map<Integer, Object> map = new HashMap<Integer, Object>();
		map.put(1, "jackie");
		map.put(8, "tracy");
		map.put(3, "swift");
		map.put(6, "cris");
		map.put(5, "kidd");
    	//把Key集合转成数组
    	Object[] taxisArray = (Object[]) map.keySet().toArray();
    	// 把排序数组冒泡排序,从小到大排
		int temp;
		for (int i = 0; i < taxisArray.length; i++) {
			for (int j = 0; j < taxisArray.length - i - 1; j++) {
				int tempJ = Integer.parseInt(taxisArray[j].toString());
				int tempJ2 = Integer.parseInt(taxisArray[j+1].toString());
				if ( tempJ > tempJ2) {
					temp = tempJ;
					taxisArray[j] = taxisArray[j + 1];
					taxisArray[j + 1] = temp;
				}
			}
		}
		//把排好的排序数组分别获得value存到list中
		List<Object> sortList = new ArrayList<Object>();
    	for (Object taxis : taxisArray) {
    		sortList.add(map.get(taxis));
		}
    	Iterator<?> iter=sortList.iterator();
    	while(iter.hasNext()){
    		System.out.println(iter.next());
    	}
	}

 

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics