文章目录
- 1、简介
- 2、代码结构
- 3、activity_main.xml 布局文件
- 4、MainActivity.java 功能文件
- 5、log 展示
1、简介
实现将时分秒 ::**格式 转化成 秒
实现将 秒 转化成 时分秒
2、代码结构
3、activity_main.xml 布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<EditText
android:id="@+id/edit_sec_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="输入数字"
android:textSize="30dp"/>
<TextView
android:id="@+id/text_hms_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击转化时分秒"
android:textSize="30dp"/>
<EditText
android:layout_marginTop="80dp"
android:id="@+id/edit_hms_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="01:23:45"
android:textSize="30dp"/>
<TextView
android:id="@+id/edit_log_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击转化数字"
android:textSize="30dp"/>
</LinearLayout>
4、MainActivity.java 功能文件
package com.example.tssh.mysectohms;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private String TAG = "MainActivity: ";
private EditText editTextOne, editTextTwo;
private TextView textViewOne,textViewTwo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextOne = (EditText) findViewById(R.id.edit_sec_id);
textViewOne = (TextView) findViewById(R.id.text_hms_id);
textViewOne.setOnClickListener(this);
editTextTwo = (EditText) findViewById(R.id.edit_hms_id);
textViewTwo = (TextView) findViewById(R.id.edit_log_id);
textViewTwo.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.text_hms_id:
String longData = editTextOne.getText().toString(); //获取输入的数字
secToTime(Long.parseLong(longData));// 将 miao 转化成 **:**:** 格式
break;
case R.id.edit_log_id:
String strTime = editTextTwo.getText().toString();//获取时分秒 **:**:**
formatTurnSecond(strTime);
break;
}
}
public String secToTime(long time) {
String timeStr = null;
long hour = 0;
long minute = 0;
long second = 0;
if (time <= 0)
return "00:00:00";
else {
minute = time / 60;
if (minute < 60) {
second = time % 60;
} else {
hour = minute / 60;
if (hour > 99)
return "99:59:59";
minute = minute % 60;
second = time - hour * 3600 - minute * 60;
}
timeStr = unitFormat(hour) + ":" + unitFormat(minute) + ":" + unitFormat(second);
}
textViewOne.setText(timeStr);
Log.i(TAG,"转化的数字是:" + time + "\n"
+ "转化后的时间格式是:" + timeStr);
return timeStr;
}
public static String unitFormat(long i) {
String retStr = null;
if (i >= 0 && i < 10)
retStr = "0" + Long.toString(i);
else
retStr = "" + i;
return retStr;
}
/*
* 将时分秒转为秒数
* */
public long formatTurnSecond(String time) {
String s = time;
int index1 = s.indexOf(":");
int index2 = s.indexOf(":", index1 + 1);
int hh = Integer.parseInt(s.substring(0, index1));
int mi = Integer.parseInt(s.substring(index1 + 1, index2));
int ss = Integer.parseInt(s.substring(index2 + 1));
long timeSec = hh * 60 * 60 + mi * 60 + ss;
Log.e(TAG, "传进来的时分秒:" + time + "\n" + " 转化的秒是 == " + hh * 60 * 60 + mi * 60 + ss);
textViewTwo.setText(timeSec + "");
return timeSec;
}
}
5、log 展示
文献参考:
Java中整数(秒数)转换为时分秒格式(xx:xx:xx)
Android 倒计时; 时分秒与秒数的互转