• Android多种方法显示当前日期和时间


    文章选自StackOverflow(简称:SOF)精选问答汇总系列文章之一,本系列文章将为读者分享国外最优质的精彩问与答,供读者学习和了解国外最新技术。本文探讨Android显示当前日期和时间的方法。

    问题:

    RBADS

    如何在Android应用中显示当前日期和时间?

    答案:

    ordid

    这个有多种解决方法。我假设你想把当前日期和时间放在TextView上。

    1
    2
    3
    4
    String currentDateTimeString = DateFormat.getDateTimeInstance().format(newDate());
     // textView is the TextView view that should display it
    textView.setText(currentDateTimeString);

    文档里可以阅读更多,点击 here 。你可以在那里读到更多信息,来更改用于转换的格式。

    user647826

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    public class XYZ extends Activity {
     
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.main);
     
            Calendar c = Calendar.getInstance();
            System.out.println("Current time => "+c.getTime());
     
            SimpleDateFormat df = newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String formattedDate = df.format(c.getTime());
            // formattedDate have current date/time
            Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
     
     
          // Now we display formattedDate value in TextView
            TextView txtView = newTextView(this);
            txtView.setText("Current Date and Time : "+formattedDate);
            txtView.setGravity(Gravity.CENTER);
            txtView.setTextSize(20);
            setContentView(txtView);
        }
     


    Prashant

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     
        setContentView(R.layout.main);
        Thread myThread = null;
     
        Runnable runnable = newCountDownRunner();
        myThread= newThread(runnable);  
        myThread.start();
     
    }
     
    public void doWork() {
        runOnUiThread(newRunnable() {
            public void run() {
                try{
                    TextView txtCurrentTime= (TextView)findViewById(R.id.lbltime);
                        Date dt = newDate();
                        int hours = dt.getHours();
                        int minutes = dt.getMinutes();
                        int seconds = dt.getSeconds();
                        String curTime = hours + ":"+ minutes +":" + seconds;
                        txtCurrentTime.setText(curTime);
                }catch(Exception e) {}
            }
        });
    }
     
     
    class CountDownRunner implements Runnable{
        // @Override
        public void run() {
                while(!Thread.currentThread().isInterrupted()){
                    try{
                    doWork();
                        Thread.sleep(1000);
                    } catch(InterruptedException e) {
                            Thread.currentThread().interrupt();
                    }catch(Exception e){
                    }
                }
        }
    }

    Dave Webb

    要展示当前时间, AnalogClockViewDigitalClockView是明智的选择。

    例如下面的布局:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">
     
        <AnalogClock
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
     
        <DigitalClock
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textSize="20sp"/>
    </LinearLayout>

    看起来是这个样子:


    fred

    我自己的展示方法:

    1
    2
    3
    4
    5
    6
    7
    Calendar c = Calendar.getInstance();
     
    String sDate = c.get(Calendar.YEAR) + "-"
    + c.get(Calendar.MONTH)
    + "-" + c.get(Calendar.DAY_OF_MONTH)
    + " at " + c.get(Calendar.HOUR_OF_DAY)
    + ":" + c.get(Calendar.MINUTE);

    ZuzooVn

    如果你想用特定的模式展示日期和时间,可以用这个:

    1
    2
    Date d = newDate();
    CharSequence s = DateFormat.format("yyyy-MM-dd hh:mm:ss", d.getTime());

    Thomas V J

    1
    2
    3
    4
    Calendar c = Calendar.getInstance();
    int month=c.get(Calendar.MONTH)+1;
    String sDate = c.get(Calendar.YEAR) + "-"+ month+"-" + c.get(Calendar.DAY_OF_MONTH) +
    "T" + c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);

    这个展示日期的格式是 2010-05-24T18:13:00

    chetan

    这能显示当前时间和日期:

    1
    2
    3
    4
    5
    6
    7
    public String getCurrDate()
    {
        String dt;
        Date cal = Calendar.getInstance().getTime();
        dt = cal.toLocaleString();
        return dt;
    }

    Hemant

    如下代码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    SimpleDateFormat dateFormat = newSimpleDateFormat(
                    "yyyy/MM/dd HH:mm:ss");
            Calendar cal = Calendar.getInstance();
            System.out.println("time => "+ dateFormat.format(cal.getTime()));
     
            String time_str = dateFormat.format(cal.getTime());
     
            String[] s = time_str.split(" ");
     
            for(int i = 0; i < s.length; i++) {
                 System.out.println("date  => "+ s[i]);
            }
     
            int year_sys = Integer.parseInt(s[0].split("/")[0]);
            int month_sys = Integer.parseInt(s[0].split("/")[1]);
            int day_sys = Integer.parseInt(s[0].split("/")[2]);
     
            int hour_sys = Integer.parseInt(s[1].split(":")[0]);
            int min_sys = Integer.parseInt(s[1].split(":")[1]);
     
            System.out.println("year_sys  => "+ year_sys);
            System.out.println("month_sys  => "+ month_sys);
            System.out.println("day_sys  => "+ day_sys);
     
            System.out.println("hour_sys  => "+ hour_sys);
            System.out.println("min_sys  => "+ min_sys);

    原文链接:Display the current time and date in an Android application

  • 相关阅读:
    clear:both其实是有瑕疵的
    CSS3不遥远,几个特性你要知道
    JavaScript使用数组拼接字符串性能如何?
    CSS网页宽度怎么定比较合适
    浅析JavaScript的垃圾回收机制
    淡入淡出效果的js原生实现
    非阻塞式JavaScript脚本及延伸知识
    HTML5 Canvas圣诞树
    Ubuntu查看和自动挂载硬盘
    正则表达式批量重命名
  • 原文地址:https://www.cnblogs.com/aikongmeng/p/3697341.html
Copyright © 2020-2023  润新知