时间戳与字符串的转换

  第一次看到服务端那边以备注---流格式为:{"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(" 输出如下: "+ 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);

   }

  

}

原文地址:https://www.cnblogs.com/changyinlu/p/5076602.html