<commit_before>package com.xnx3;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import com.xnx3.exception.NotReturnValueException;

/**
 * 日期工具类
 * @author 管雷鸣
 *
 */
public class DateUtil {
	/**
	 * 如果format没有传递过来，会使用这个默认的时间戳
	 */
	public final static String FORMAT_DEFAULT="yyyy-MM-dd hh:mm:ss";
	
	/**
	 * 返回当前13位的Unix时间戳
	 * @see Date
	 * @return 13位Unix时间戳
	 */
	public static long timeForUnix13(){
		Date date = new Date();
		long time = date.getTime();
		
		return time;
	}
	
	/**
	 * 将Linux时间戳变为文字描述的时间
	 * @param linuxTime Linux时间戳，10位或者13位
	 * @param format 转换格式 ,若不填，默认为yyyy-MM-dd hh:mm:ss {@link #FORMAT_DEFAULT}
	 * @return 转换后的日期。如 2016-01-18 11:11:11
	 * @throws NotReturnValueException
	 */
	public static String dateFormat(long linuxTime,String format) throws NotReturnValueException{
		int linuxTimeLength=(linuxTime+"").length();
		if(linuxTime==0||!(linuxTimeLength==10||linuxTimeLength==13)){
			throw new NotReturnValueException("传入的linux时间戳长度错误！当前传入的时间戳："+linuxTime+",请传入10或者13位的时间戳");
		}else{
			if(format==null||format.length()==0){
				format=FORMAT_DEFAULT;
			}
			
			if(linuxTimeLength==10){
				linuxTime=linuxTime*1000;
			}
			return new SimpleDateFormat(format).format(new java.util.Date(linuxTime));
		}
	}
	
	/**
	 * 将Linux时间戳变为文字描述的时间
	 * {@link #dateFormat(long, String)}<commit_msg>xnx3<commit_after>package com.xnx3;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import com.xnx3.exception.NotReturnValueException;

/**
 * 日期工具类
 * @author 管雷鸣
 *
 */
public class DateUtil {
	/**
	 * 如果format没有传递过来，会使用这个默认的时间戳
	 */
	public final static String FORMAT_DEFAULT="yyyy-MM-dd hh:mm:ss";
	
	/**
	 * 返回当前13位的Unix时间戳
	 * @see Date
	 * @return 13位Unix时间戳
	 */
	public static long timeForUnix13(){
		Date date = new Date();
		long time = date.getTime();
		
		return time;
	}
	

	/**
	 * 将Linux时间戳变为文字描述的时间
	 * @param linuxTime Linux时间戳，10位
	 * @param format 转换格式 ,若不填，默认为yyyy-MM-dd hh:mm:ss {@link #FORMAT_DEFAULT}
	 * @return 转换后的日期。如 2016-01-18 11:11:11
	 */
	public static String intToString(int linuxTime,String format){
		try {
			return dateFormat(linuxTime, format);
		} catch (NotReturnValueException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return linuxTime+"";
		}
	}
	
	/**
	 * 将Linux时间戳变为文字描述的时间
	 * @param linuxTime Linux时间戳，10位或者13位
	 * @param format 转换格式 ,若不填，默认为yyyy-MM-dd hh:mm:ss {@link #FORMAT_DEFAULT}
	 * @return 转换后的日期。如 2016-01-18 11:11:11
	 * @throws NotReturnValueException
	 */
	public static String dateFormat(long linuxTime,String format) throws NotReturnValueException{
		int linuxTimeLength=(linuxTime+"").length();
		if(linuxTime==0||!(linuxTimeLength==10||linuxTimeLength==13)){
			throw new NotReturnValueException("传入的linux时间戳长度错误！当前传入的时间戳："+linuxTime+",请传入10或者13位的时间戳");
		}else{
			if(format==null||format.length()==0){
				format=FORMAT_DEFAULT;
			}
			
			if(linuxTimeLength==10){
				linuxTime=linuxTime*1000;
			}
			return new SimpleDateFormat(format).format(new java.util.Date(linuxTime));
		}
	}
	
	/**
	 * 将Linux时间戳变为文字描述的时间
	 * {@link #dateFormat(long, String)}
{'fraction_non_alphanumeric': 0.13573830632833997, 'fraction_numerical': 0.03087740752063589, 'mean_word_length': 4.508417508417509, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2854247', 'n_tokens_mistral': 1485, 'n_tokens_neox': 1361, 'n_words': 212}