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

来源:互联网 发布:linux red hat使用教程 编辑:程序博客网 时间:2024/05/29 03:26

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

打印效果图:


直接上代码:

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;@Overrideprotected 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;}}



2 0