안드로이드(자바)에서 년, 월, 일, 시간, 분, 초를 구해서 변수에 저장

 

 

 

실행 결과

 

 

 

 

 

 

 

/* 레이아웃 */

<?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:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">


    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="날짜 받기"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

 

버튼을 클릭하면 텍스트뷰에 날짜와 시간을 표시하도록 한다.

 

 

 

/* 자바 코드 */

package com.tistory.godog.test3;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity {

    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);
        Button button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                getDT();
            }
        });
    }

    public void getDT() {
        Calendar cal = Calendar.getInstance();
        int y=0, m=0, d=0, h=0, mi=0, s=0;

        y = cal.get(Calendar.YEAR);
        m = cal.get(Calendar.MONTH) +1;
        d = cal.get(Calendar.DAY_OF_MONTH);
        h = cal.get(Calendar.HOUR);
        mi = cal.get(Calendar.MINUTE);
        s = cal.get(Calendar.SECOND);

        textView.setText(y+"/"+m+"/"+d+" "+h+":"+mi+":"+s);
    }
}

 

- Calendar 클래스가 추상 클래스이여서 new로 인스턴스를 생성할 수 없다.

 

└> 이는 날짜와 시간을 계산하는 방법이 지역, 나라에 따라 다르기 때문이다. 그래서 getInstance() 메소드를 사용하면 운영체제에 설정되어 있는 시간을 기준으로 객체를 얻어온다.

 

 

 

- 월을 구할 때는 0~11에 값을 가지므로 우리가 사용하는 1~12 값의 월을 얻기 위해서는 +1을 해주어야 한다.

 

 

+ Recent posts