算法年周

package com.system.common;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import sun.misc.BASE64Encoder;

public class CommonFunction {
	
	
	public static String getDelay(String t1,String t2){
		//时间差计算
		String result = "";
		try {
			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			Date now = df.parse(t1);
			Date date = df.parse(t2);
			long l=now.getTime()-date.getTime();
			long day=l/(24*60*60*1000);
			long hour=(l/(60*60*1000)-day*24);
			//long min=((l/(60*1000))-day*24*60-hour*60);
			//long s=(l/1000-day*24*60*60-hour*60*60-min*60);
			//System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
			result = ""+day+"天"+hour+"小时";
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	
	public static String fu_GenPasswordWithId(String q, String p) {
		return EncoderByMd5(q + " " + p);
	}
	
	
	public static String EncoderByMd5(String str) {
		MessageDigest md5 = null;
		try {
			md5 = MessageDigest.getInstance("MD5");
		} catch (NoSuchAlgorithmException e) {
			e.printStackTrace();
		}
		BASE64Encoder base64en = new BASE64Encoder();
		String newstr = null;
		try {
			newstr = base64en.encode(md5.digest(str.getBytes("utf-8")));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return newstr;
	}
	
	/**
	 * 
	private static int base64DecodeChars[] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
			-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
			-1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1,
			-1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
			22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
			39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1 };

	public static String base64decode(String str) {
		char c1, c2, c3, c4;
		int i, len;
		String out;

		len = str.length();
		i = 0;
		out = "";
		while (i < len) {
			
			do {
				c1 = (char) base64DecodeChars[str.charAt(i++) & 0xff];
			} while (i < len && c1 == -1);
			if (c1 == -1)
				break;

			
			do {
				c2 = (char) base64DecodeChars[str.charAt(i++) & 0xff];
			} while (i < len && c2 == -1);
			if (c2 == -1)
				break;

			out += (char) ((c1 << 2) | ((c2 & 0x30) >> 4));

			
			do {
				c3 = (char) (str.charAt(i++) & 0xff);
				if (c3 == 61)
					return out;
				c3 = (char) base64DecodeChars[c3];
			} while (i < len && c3 == -1);
			if (c3 == -1)
				break;

			out += (char) (((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));

			
			do {
				c4 = (char) (str.charAt(i++) & 0xff);
				if (c4 == 61)
					return out;
				c4 = (char) base64DecodeChars[c4];
			} while (i < len && c4 == -1);
			if (c4 == -1)
				break;
			out += (char) (((c3 & 0x03) << 6) | c4);
		}
		return out;
	}
	 */

	
	//获取年周,例:1547-2015年47周
	public static String getYearWeek(){
		Calendar c = Calendar.getInstance();
		int year = c.get(Calendar.YEAR);
		int week = 0;
		if(year == 2017){
			week = c.get(Calendar.WEEK_OF_YEAR) + 1;
		}else{
			week = c.get(Calendar.WEEK_OF_YEAR);
		}
		String weeks = "000"+week;
		weeks = weeks.substring(weeks.length()-2, weeks.length());
		String years = year+"";
		String yearWeek = years.substring(2,4)+weeks;
		System.out.println(yearWeek);
		return yearWeek;
	}

	public static void main(String[] args) throws ParseException {
		System.out.println(Boolean.parseBoolean("true"));
	}
	
	/**
	 * 获取批号 AA-ZZ
	 */
	public static String getRlot(String rLot){
		String result = "";
		if(!"".equals(rLot)){
			int lota = 0;
			int lotb = 0;
			char[] chars = rLot.toCharArray();
			
			for(int i = 0 ; i < chars.length; i++){
				if(i==0)
					lota = (int)chars[i];
				else if(i==1)
					lotb = (int)chars[i];
			}
			//判断a是否+1
			do{
				lotb = lotb + 1;
			}while(lotb == 73 || lotb == 79);
			
			//b为Z时a进1
			if(lotb > 90){
				lotb = lotb - 26;
				do{
					lota = lota + 1;
				}while(lota == 73 || lota == 79);
			}
			if(lota > 90){
				result = "ERROR";
			}else{
				result = (char)lota+""+(char)lotb;
			}
		}else{
			result = "AA";
		}
		return result;
	}
	
	
}

/**
	 * 年周YW
	 * Y:A1B2C3D4E5F6G7H8J9K0
	 * W:A->1,27周
	 * 
	 * @param lot
	 * @return
	 */
	public static String getDc(String lot,String flag){
		String result = "";
		int fl = 1;
		if(!"".equals(flag)){
			fl = Integer.parseInt(flag);
		}
		result = lot.substring(2,6);
		int y = Integer.parseInt(result.substring(1,2));
		int w = Integer.parseInt(result.substring(2,4));
		char c = '0',d='0';
		if(w > 26){
			int i = w+38;
			int j = 0;
			if(y > 8){
				j = y+65;
			}else if(y == 0){
				j = 75;
			}else{
				j = y+64;
			}
			d = (char)(j);
			c = (char)(i);
		}else{
			int i = w+64;
			d = result.substring(1,2).charAt(0);
			c = (char)(i);
		}
		String yy = d+"";
		String ww = c+"";
		if(fl == 1){
			result = lot.substring(2,6);
		}else if(fl == 2){
			result = yy+ww;
		}
		return result;
	}
在这里插入代码片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值