5
回答
字符串转日期-------
终于搞明白,存储TCO原来是这样算的>>>   
在java中怎么把字符串转为日期格式:比如:"2013-12-12"转为日期2013-12-12
举报
共有5个答案 最后回答: 4年前

String timStr="2013-12-12";

SimpleDateformat sdf=new SimpleDateformat("yyyy-MM-dd");

Date date=sdf.parse(timeStr);

 

大概就是这样应该

Java不要用 SimpleDateformat ,建议使用Apache的Common包里面的FastDateFormat。
--- 共有 4 条评论 ---
魔力猫回复 @只会百度的程序员 : 你整个程序的日期处理不会就这一句话吧。StringUtils等其他工具也同时被导进来了,这些都是编写软件的常用工具类。 所以说只要你用了common包,基本上这些工具类都在你程序中了。 5年前 回复
只会百度的程序员回复 @魔力猫 : 但是为了使用一个方法而导入一个包,值得吗。。。 5年前 回复
魔力猫回复 @只会百度的程序员 : JDK自带SimpleDateformat不但创建代价很大,效率低,而且还不是线程安全的。国外很多人都批评说这个类是个pig。 5年前 回复
只会百度的程序员为什么 ? 5年前 回复

用dateformat的话,可以这样

/**
	 * 取时间年的格式代码
	 */
	public static String YEAR = "yyyy";

	/**
	 * 取时间月的格式代码
	 */
	public static String MONTH = "MM";

	/**
	 * 取时间日的格式代码
	 */
	public static String DAY = "dd";

	/**
	 * 取时间时的格式代码
	 */
	public static String HOUR = "hh";

	/**
	 * 取时间24小时制的格式代码
	 */
	public static String HOUR_24 = "HH";

	/**
	 * 取时间分的格式代码
	 */
	public static String MIMUTE = "mm";

	/**
	 * 取时间秒的格式代码
	 */
	public static String SECOND = "ss";

	/**
	 * 取时间毫秒的格式代码
	 */
	public static String MILLISECOND = "SS";
	
	/**
	 * 格式为yyyy-MM-dd HH:mm:ss的时间
	 */
	public static String YMDHMS_FORMAT = YEAR + "-" + MONTH + "-" + DAY + " "
			+ HOUR_24 + ":" + MIMUTE + ":" + SECOND;
	
	/**
	 * @see 返回格式为yyyy-MM-dd HH:mm:ss的时间字符串
	 * @return String date
	 */
	public static Date parseStringToDateInYMDHMSFormat(String dateStr) {
		return getDateByStrToFormat(YMDHMS_FORMAT,dateStr);
	}

	/**
	 * @see 获得指定时间格式
	 * @param String
	 *            format 时间格式
	 * @return String dateStr 返回获得相应格式时间的字符串
	 */
	public static String getDateByFormat(String format) {
		String dateStr = "";
		try {
			if (format != null) {
				Date date = new Date(System.currentTimeMillis());
				SimpleDateFormat simFormat = new SimpleDateFormat(format,
						Locale.CHINA);
				dateStr = simFormat.format(date);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return dateStr;
	}

	/**
	 * @see 把字符串类型的时间转换为自定义格式的时间
	 */
	public static Date getDateByStrToFormat(String format, String str) {
		DateFormat dFormat = new SimpleDateFormat(format);
		Date date = null;
		try {
			if (str != null) {
				date = dFormat.parse(str);
			}
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;
	}

--- 共有 1 条评论 ---
魔力猫很抱歉,SimpleDateFormat不是线程安全的,不能单例。 5年前 回复
顶部