Android 진급 사용 시간 스탬프 계산 시간 차
현재 프로젝트 는 시간 차 를 계산 하고 데이터 처 리 를 해 야 하기 때문에 Csdn 에서 찾 아 보 았 습 니 다.그 다음 에 수정 하고 보완 하 는 것 은 사용 할 수 있 습 니 다.프로젝트 에 사용 하면 오래된 시간 스탬프 나 시간 format 를 파일 이나 sp 에 저장 한 다음 에 판단 한 다음 에 자신의 논리 적 처 리 를 하 는 것 을 권장 합 니 다.
Effect :
로그 실행:
주:이것 은 스스로 간단하게 포장 할 수 있 습 니 다.비교적 간단 합 니 다.
MainActivity :
package com.bakheet.effect.time;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MainActivity extends AppCompatActivity {
private SimpleDateFormat format;
public String oldtime ;
public String newtime;
private TextView mContent;
private TextView mCount;
private TextView mBtnNow;
private TextView mBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
mBtn = (TextView) findViewById(R.id.btn);
mBtnNow = (TextView) findViewById(R.id.btn_now);
mCount = (TextView) findViewById(R.id.count);
mContent = (TextView) findViewById(R.id.content);
//Csdn
mBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this,"Csdn ",Toast.LENGTH_SHORT).show();
try {
Date d1 = format.parse("2012-11-05 12:00:00");//
Date d2 = format.parse("2012-11-04 11:10:00"); //
Long diff = d1.getTime() - d2.getTime(); // ,
Long day = diff / (1000 * 60 * 60 * 24); //
Long hour=(diff/(60*60*1000)-day*24); //
Long min=((diff/(60*1000))-day*24*60-hour*60); //
Long second=(diff/1000-day*24*60*60-hour*60*60-min*60);//
Log.e("tag","day =" +day);
Log.e("tag","hour =" +hour);
Log.e("tag","min =" +min);
Log.e("tag","second =" +second);
mContent.setText("day = "+day+",hour = "+hour+",min = "+min+",second = "+second);
} catch (Exception e) {
e.printStackTrace();
}
}
});
// -
mBtnNow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
long timeMillis = System.currentTimeMillis();
Log.e("tag timeMillis =",""+timeMillis);
//
String time = stampToDate(timeMillis);
Log.e("tag time = ",time);
oldtime=time;
Log.e("tag newtime = ",oldtime);
try {
//
String what = dateToStamp(time);
Log.e("tag what = ",what);
} catch (ParseException e) {
e.printStackTrace();
}
}
});
//This is my code - - ( , , )
mCount.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ,
Toast.makeText(MainActivity.this," ",Toast.LENGTH_SHORT).show();
long timeMillis = System.currentTimeMillis();
Log.e("tag timeMillis =",""+timeMillis);
String time = stampToDate(timeMillis);
Log.e("tag time = ",time);
newtime=time;
Log.e("tag newtime = ",newtime);
try {
// , , null , try catch
Date d1 = format.parse(newtime); //
Date d2 = format.parse(oldtime); //
Long diff = d1.getTime() - d2.getTime(); // ,
//
Long day = diff / (1000 * 60 * 60 * 24);
//
Long hour=(diff/(60*60*1000)-day*24);
//
Long min=((diff/(60*1000))-day*24*60-hour*60);
//
Long second=(diff/1000-day*24*60*60-hour*60*60-min*60);
Log.e("tag","day =" +day);
Log.e("tag","hour =" +hour);
Log.e("tag","min =" +min);
Log.e("tag","second =" +second);
mContent.setText("day = "+day+",hour = "+hour+",min = "+min+",second = "+second);
} catch (Exception e) {
//
e.printStackTrace();
}
}
});
}
/**
*
*/
public String dateToStamp(String time) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(time);
long ts = date.getTime();
return String.valueOf(ts);
}
/**
*
*/
public String stampToDate(long timeMillis){
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(timeMillis);
return simpleDateFormat.format(date);
}
}
MainActivity Xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.bakheet.effect.time.MainActivity">
<TextView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="wrap_content"
android:text="csdn "
android:gravity="center"
android:id="@+id/btn"
/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="wrap_content"
android:gravity="center"
android:text=" "
android:id="@+id/btn_now"
/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/count"
android:text=" "
/>
<TextView
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:padding="5dp"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/content"
android:text=""
/>
</LinearLayout>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.