android时间选择原生,安卓原生时间选择器

调用Android原生日期选择器对话框也就是DatePickerDialog

package com.example.myapplication;

import android.app.DatePickerDialog;

import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import android.view.View;

import android.widget.Button;

import android.widget.DatePicker;

import android.widget.TextView;

import java.util.Calendar;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private TextView tv;

private Button but;

private int mYear;

private int mMonth;

private int mDay;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

//Activity的onCreate方法中获取当时的年 ,月,日

Calendar calendar = Calendar.getInstance();

mYear = calendar.get(Calendar.YEAR);

mMonth = calendar.get(Calendar.MONTH);

mDay = calendar.get(Calendar.DAY_OF_MONTH);

}

private void initView() {

tv = (TextView) findViewById(R.id.tv);

but = (Button) findViewById(R.id.but);

but.setOnClickListener(this);

}

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.but:

//TODO 调用时间选择器

new DatePickerDialog(MainActivity.this, onDateSetListener,mYear,mMonth,mDay).show();

break;

}

}

/**

* 日期选择器对话框监听

*/

private DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener() {

@Override

public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {

mYear = year;

mMonth = monthOfYear;

mDay = dayOfMonth;

String days;

if (mMonth + 1 < 10) {

if (mDay < 10) {

days = new StringBuffer().append(mYear).append("年").append("0").

append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();

} else {

days = new StringBuffer().append(mYear).append("年").append("0").

append(mMonth + 1).append("月").append(mDay).append("日").toString();

}

} else {

if (mDay < 10) {

days = new StringBuffer().append(mYear).append("年").

append(mMonth + 1).append("月").append("0").append(mDay).append("日").toString();

} else {

days = new StringBuffer().append(mYear).append("年").

append(mMonth + 1).append("月").append(mDay).append("日").toString();

}

}

tv.setText(days);

}

};

}

获取当前的年月时分:

SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

String date = sDateFormat.format(new java.util.Date());

如果想获取当前的年月,则可以这样写(只获取时间或秒种一样):

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM");

String date=sdf.format(new java.util.Date());

当然还有就是可以指定时区的时间(待):

df=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL, Locale.CHINA);

System.out.println(df.format(new Date()));

计算时差

DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

try

{

Date d1 = df.parse("2006-05-26 12:00:00");

Date d2 = df.parse("2006-07-02 11:20:00");

//Date d2 = new Date(System.currentTimeMillis());//你也可以获取当前时间

long diff = d1.getTime() - d2.getTime();//这样得到的差值是微秒级别

long days = diff / (1000 * 60 * 60 * 24);

long hours = (diff-days*(1000 * 60 * 60 * 24))/(1000* 60 * 60);

long minutes = (diff-days*(1000 * 60 * 60 * 24)-hours*(1000* 60 * 60))/(1000* 60);

// System.out.println(""+days+"天"+hours+"小时"+minutes+"分");

Toast.makeText(this, days+"天"+hours+"小时"+minutes+"分", Toast.LENGTH_SHORT).show();

}

catch (Exception e)

{

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值