Android获取时间戳,以及将时间戳转换为时间

实际开发中,服务端返回的时间一般是时间戳的格式。这时客户端就需要对时间戳做出处理,将时间戳转换为标准的时间格式。

打印效果图:


直接上代码:

  1. package com.androidtimestampdemo;  
  2.   
  3. import java.text.SimpleDateFormat;  
  4. import java.util.Calendar;  
  5. import java.util.Date;  
  6. import java.util.Locale;  
  7.   
  8. import android.app.Activity;  
  9. import android.os.Bundle;  
  10. import android.util.Log;  
  11.   
  12. public class MainActivity extends Activity {  
  13.     private long timecurrentTimeMillis;  
  14.     private long timeGetTime;  
  15.     private long timeSeconds;  
  16.     private long timeMillis;  
  17.   
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.activity_main);  
  22.   
  23.         init();  
  24.     }  
  25.   
  26.     private void init() {  
  27.         /** 
  28.          * 以下是获取现在的系统时间戳的几种方法,实际开发中可能需要服务端返回所需的时间戳 ; 
  29.          * 但是实际开发中服务端返回的时间戳可能是字符串等,需要转换为long等,可采用如下方法直接转换: 
  30.          * Integer.parseInt(String s) Long.parseLong(String s) 
  31.          * Float.parseFloat(String s) Double.parseDouble(String s) 
  32.          */  
  33.         timecurrentTimeMillis = System.currentTimeMillis();  
  34.         timeGetTime = new Date().getTime();  
  35.         timeSeconds = System.currentTimeMillis();  
  36.         timeMillis = Calendar.getInstance().getTimeInMillis();  
  37.         /** 
  38.          * 通过打印信息可以看到,这几种获取系统时间的时间戳几乎是一样的。 
  39.          */  
  40.         Log.d("zhongyao""timecurrentTimeMillis" + timecurrentTimeMillis  
  41.                 + "@@@" + "timeGetTime" + timeGetTime + "@@@timeSeconds"  
  42.                 + timeSeconds + "timeMillis" + timeMillis);  
  43.         /** 
  44.          * 时间戳转换成具体时间形式 
  45.          */  
  46.         SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日",  
  47.                 Locale.getDefault());  
  48.         String time1 = sdf.format(timeSeconds);  
  49.         String time2 = sdf.format(timeGetTime);  
  50.         Log.d("zhongyao", timeSeconds + "  现在的时间1->:" + time1);  
  51.         Log.d("zhongyao", timeGetTime + "  现在的时间2-->:" + time2);  
  52.   
  53.         SimpleDateFormat sdfTwo = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒E",  
  54.                 Locale.getDefault());  
  55.         String time11 = sdfTwo.format(timeSeconds);  
  56.         String time22 = sdfTwo.format(timeGetTime);  
  57.         Log.d("zhongyao", timeSeconds + "  现在的时间11->:" + time11);  
  58.         Log.d("zhongyao", timeGetTime + "  现在的时间22-->:" + time22);  
  59.           
  60.         /** 
  61.          * 而最常用的: 
  62.          * 由于服务端返回的一般是UNIX时间戳,所以需要把UNIX时间戳timeStamp转换成固定格式的字符串 
  63.          */  
  64.         String result = formatData("yyyy-MM-dd"1414994617);  
  65.         Log.d("zhongyao", result);  
  66.   
  67.     }  
  68.   
  69.     public static String formatData(String dataFormat, long timeStamp) {  
  70.         if (timeStamp == 0) {  
  71.             return "";  
  72.         }  
  73.         timeStamp = timeStamp * 1000;  
  74.         String result = "";  
  75.         SimpleDateFormat format = new SimpleDateFormat(dataFormat);  
  76.         result = format.format(new Date(timeStamp));  
  77.         return result;  
  78.     }  
  79. }  
package com.androidtimestampdemo;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {
	private long timecurrentTimeMillis;
	private long timeGetTime;
	private long timeSeconds;
	private long timeMillis;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		init();
	}

	private void init() {
		/**
		 * 以下是获取现在的系统时间戳的几种方法,实际开发中可能需要服务端返回所需的时间戳 ;
		 * 但是实际开发中服务端返回的时间戳可能是字符串等,需要转换为long等,可采用如下方法直接转换:
		 * Integer.parseInt(String s) Long.parseLong(String s)
		 * Float.parseFloat(String s) Double.parseDouble(String s)
		 */
		timecurrentTimeMillis = System.currentTimeMillis();
		timeGetTime = new Date().getTime();
		timeSeconds = System.currentTimeMillis();
		timeMillis = Calendar.getInstance().getTimeInMillis();
		/**
		 * 通过打印信息可以看到,这几种获取系统时间的时间戳几乎是一样的。
		 */
		Log.d("zhongyao", "timecurrentTimeMillis" + timecurrentTimeMillis
				+ "@@@" + "timeGetTime" + timeGetTime + "@@@timeSeconds"
				+ timeSeconds + "timeMillis" + timeMillis);
		/**
		 * 时间戳转换成具体时间形式
		 */
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日",
				Locale.getDefault());
		String time1 = sdf.format(timeSeconds);
		String time2 = sdf.format(timeGetTime);
		Log.d("zhongyao", timeSeconds + "  现在的时间1->:" + time1);
		Log.d("zhongyao", timeGetTime + "  现在的时间2-->:" + time2);

		SimpleDateFormat sdfTwo = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒E",
				Locale.getDefault());
		String time11 = sdfTwo.format(timeSeconds);
		String time22 = sdfTwo.format(timeGetTime);
		Log.d("zhongyao", timeSeconds + "  现在的时间11->:" + time11);
		Log.d("zhongyao", timeGetTime + "  现在的时间22-->:" + time22);
		
		/**
		 * 而最常用的:
		 * 由于服务端返回的一般是UNIX时间戳,所以需要把UNIX时间戳timeStamp转换成固定格式的字符串
		 */
		String result = formatData("yyyy-MM-dd", 1414994617);
		Log.d("zhongyao", result);

	}

	public static String formatData(String dataFormat, long timeStamp) {
		if (timeStamp == 0) {
			return "";
		}
		timeStamp = timeStamp * 1000;
		String result = "";
		SimpleDateFormat format = new SimpleDateFormat(dataFormat);
		result = format.format(new Date(timeStamp));
		return result;
	}
}



 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值