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

Posted 红日666

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android获取时间戳,以及将时间戳转换为时间相关的知识,希望对你有一定的参考价值。

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

打印效果图:

直接上代码:

 

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;
	

 

深度阅读(O(∩_∩)O):

Android面试题总结(最全)

以上是关于Android获取时间戳,以及将时间戳转换为时间的主要内容,如果未能解决你的问题,请参考以下文章

php怎么将指定日期转换为时间戳?

js 中日期 转换成时间戳 例如2013-08-30 转换为时间戳

php怎么将指定日期转换为时间戳

php 怎么将指定日期转换为时间戳

vue.js怎样将时间戳转化为日期格式

linux怎么将时间戳转换为时间