Fri Oct 7 10:08:00 UTC 0800 2016日期格式转换为 yyyy-mm-dd hh24:mi:ss (枚举实现版)

之前写过一个同样功能的方法,不过是用了Map实现的,参见:点击打开链接

但是这样似乎代价有点大,每次调用就创建一个Map。于是就写了一个枚举的实现。就不贴运行结果图了,要校验的可以复制下去运行一遍。完整代码如下。

package myTest;

import java.util.*;
public class Test2{	
	public enum MonthEnum {
		//Nothing值为0,以后递增
		Nothing, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec; 
	}
	
	public static void main(String[] args){
		String whatTheFuckDate = "Fri Dec 7 10:08:00 UTC 0800 2016";
		System.out.println(formatDate(whatTheFuckDate));
	}
	
	public static String formatDate(String whatTheFuckDate){
		StringBuilder afterConvert = new StringBuilder();
	        
	         //拆分后的数组下标对应   0   1  2     3    4     5   6        
			//日期是这种形式 Fri Oct 7 10:08:00 UTC 0800 2016
			String[] arr = whatTheFuckDate.split(" ");

			afterConvert.append(arr[6] + "-"); 
			int m = MonthEnum.valueOf(arr[1]).ordinal();
			afterConvert.append( (m < 10 ? "0"+m:m) + "-"); 
			if(arr[2].length() < 2){ 
				afterConvert.append("0" + arr[2] +  " "); 
			}
			else{
				afterConvert.append(arr[2] + " ");
			}
			afterConvert.append(arr[3]);
			
		return afterConvert.toString();
   }
}


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值