Android獲取時間戳,以及將時間戳轉換為時間

實際開發中,服務端返回的時間一般是時間戳的格式。這時客戶端就需要對時間戳做出處理,將時間戳轉換為標準的時間格式。

打印效果圖:

直接上代碼:vcD4KPHA+PHByZSBjbGFzcz0=”brush:java;”>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;
}
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。