时间戳与字符串的转换

  第一次看到服务端那边以备注---流格式为:{"mDate":"\/Date(-62135596800000)\/"} 这种形式的时间格式上传服务器,换了好多方法还是不行,网上一大堆乱七八糟的方法也没能解决,最后琢磨许久,终于弄出来了:

  首先 字符串以时间的格式转换成时间戳,再以时间戳转换为时间格式的字符串即可。

整体代码如下:

 

import java.text.DateFormat;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Scanner;

 

public class MyTime {

 

   /**

    * @param args

    */

   public static void main(String[] args) {

 

      Scanner scanner = new Scanner(System.in);

     

      System.out.println("请输入一个时间点:");

      String timeStr = scanner.nextLine();

     

      long timeLong = getUnixTimestamp(timeStr);

      System.out.println("\n输出如下:\n"+ timeStr + " 转换成时间截为:"+ timeLong);

     

      String time2Str = getMyDateString(timeLong);

      System.out.println(timeLong + " 转换成字符串为:"+ time2Str);

     

   }

 

   // 获取某个日期的时间戳 (使用该方法)++++++++++=========================

   public static long getUnixTimestamp(String time) {

      long timestamp;

      DateFormat df = new SimpleDateFormat("yyyy"); //具体的时间格式:yyyy-MM-dd hh:mm:ss

      Date date = null;

      try {

        date = df.parse(time);

      } catch (ParseException e) {

        e.printStackTrace();

      }

      Calendar cal = Calendar.getInstance();

      cal.setTime(date);

      timestamp = cal.getTimeInMillis();

      String timeStr = String.valueOf(timestamp);

      //String subStr = timeStr.substring(0, timeStr.length() - 3);

      long timestamp2 = Long.parseLong(timeStr);

      return timestamp2;

   }

 

   // 时间戳转换成时间类型的字符串 (使用该方法)+++++++++==========================

   public static String getMyDateString(long time) {

      final Date date = new Date(time);

      final SimpleDateFormat format = new SimpleDateFormat(

           "yyyy");

      return format.format(date);

   }

  

}

 

posted @ 2015-12-25 17:50  飞牛冲天  阅读(861)  评论(0编辑  收藏  举报