版权声明:本文为博主原创文章,未经博主允许不得转载。
实际开发中,服务端返回的时间一般是时间戳的格式。这时客户端就需要对时间戳做出处理,将时间戳转换为标准的时间格式。
打印效果图:
直接上代码:
- 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;
- }
- }
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;
}
}