精华内容
下载资源
问答
  • 安卓获取系统时间和网络时间
  • 火山安卓网络时间例程和时间戳例程
  • Android - 获取系统时间和网络时间

    千次阅读 2019-02-22 21:39:22
    Android获取时间的方法有获取网络时间或者使用系统时间,两者我感觉各有优点各有缺点。 话不多说,直接上代码,用的话拿就好!!! 通过网络获取时间,这是我写的一个工具类,在子线程直接调用就可以,参考一下...

    Android获取时间的方法有获取网络时间或者使用系统时间,两者我感觉各有优点各有缺点。

    话不多说,直接上代码,用的话拿就好!!!

    通过网络获取时间,这是我写的一个工具类,在子线程直接调用就可以,参考一下:

    public static Date getNetTime(){
            String webUrl = "http://www.ntsc.ac.cn";//中国科学院国家授时中心
            try {
                URL url = new URL(webUrl);
                URLConnection uc = url.openConnection();
                uc.setReadTimeout(5000);
                uc.setConnectTimeout(5000);
                uc.connect();
                long correctTime = uc.getDate();
                Date date = new Date(correctTime);
                return date;
            } catch (Exception e) {
                return new Date();
            }
        }
    
    获取本地系统时间代码:
    long time = System.currentTimeMillis();
    Date date = new Date(time);
    SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 E HH时mm分ss秒");
    main_date.setText(format.format(date));

    全部代码:

    package com.djp.test.test2;
    
    import android.graphics.Bitmap;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.support.v7.app.AppCompatActivity;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.io.IOException;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    /**
     * 一般耗时操作都不允许放在主线程里直接操作,如网络操作等,
     * 一般需要开一个子线程去访问网络,然后通过handler去更新界面。
     * 显示例如2019年02月22日  周五  14时56分08秒
     */
    //温度  多云转晴  南风3-4级
    public class TwoActivity extends AppCompatActivity {
        private  TextView textView;
    
        private Handler handler = new Handler(){
            //此方法在主线程中使用,用于刷新UI
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                switch (msg.what){
                    case 1:
                        /*long time = System.currentTimeMillis();
                        Date date = new Date(time);
                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 E HH时mm分ss秒");
                        main_date.setText(format.format(date));*/
    
    
    
                      // textView.setText(new SimpleDateFormat("yyyy年MM月dd日 E HH时mm分ss秒").format(new Date(System.currentTimeMillis())));//获取系统时间
    
                        textView.setText(new SimpleDateFormat("yyyy年MM月dd日 E HH时mm分ss秒").format(msg.obj));//获取网络时间
                        break;
    
                }
            }
        };
    
        /**
         * 获取当前时间
         * @return
         */
        public static Date getNetTime(){
            //设置了超时时长为5秒,若获取网络时间在5秒内无法获取,则返回本机时间。
            String webUrl = "http://www.ntsc.ac.cn";//中国科学院国家授时中心
            try {
                URL url = new URL(webUrl);
                URLConnection uc = url.openConnection();//生成连接对象
                uc.setReadTimeout(5000);
                uc.setConnectTimeout(5000);
                uc.connect();//发出连接
                long correctTime = uc.getDate();//取得网站日期时间
                Date date = new Date(correctTime);
                return date;
            } catch (Exception e) {
                return new Date();
            }
        }
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_two);
            textView = findViewById(R.id.textview1);
            new TimeThread().start();//启动线程
        }
        public class TimeThread extends Thread {
            @Override
            public void run() {
                super.run();
                do {
                    try {
                        Thread.sleep(1000);
    
    
                        Message msg = new Message();
                        msg.what = 1;
                        //调用获取时间
                        msg.obj= getNetTime();
    
                        handler.sendMessage(msg);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                        e.printStackTrace();
                    }
                } while (true);
            }
    
    
        }
    }
    

     

    展开全文
  • 既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割版的linux,很多命令都不支持,如rdate命令(网络同步时间命令)。既然不支持,那我使他支持不就完了。 三、...
  • android获取系统时间和网络时间

    千次阅读 2018-07-31 21:51:38
    在项目中我们经常需要获取当前的时间,时间又分系统时间和网络时间 1.获取系统时间 Calendar c = Calendar.getInstance(); //取得系统日期: year = c.get(Calendar.YEAR) month = c.grt(Calendar.MONTH) ...

    在项目中我们经常需要获取当前的时间,时间又分系统时间和网络时间

    1.获取系统时间

    Calendar c = Calendar.getInstance();  
    //取得系统日期:
    
    year = c.get(Calendar.YEAR)  
                   month = c.grt(Calendar.MONTH)  
                   day = c.get(Calendar.DAY_OF_MONTH)  
    //取得系统时间:
    
    hour = c.get(Calendar.HOUR_OF_DAY);  
                      minute = c.get(Calendar.MINUTE)  

    2.获取网络时间

     private void getNetTime() {
            URL url = null;//取得资源对象
            try {
                url = new URL("http://www.baidu.com");
                //url = new URL("http://www.ntsc.ac.cn");//中国科学院国家授时中心
                //url = new URL("http://www.bjtime.cn");
                URLConnection uc = url.openConnection();//生成连接对象
                uc.connect(); //发出连接
                long ld = uc.getDate(); //取得网站日期时间
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(ld);
                data = calendar.get(Calendar.DAY_OF_MONTH);
            
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

     

    展开全文
  • Android 系统当前时间与网络时间同步

    千次阅读 2020-04-30 13:25:51
    在开发系统设置时,需要手动设置系统时间和使用网络时间来进行同步,这时候就需要来获取网络时间进行设置了 代码如下: URL url = new URL("http://www.baidu.com");//取得资源对象 URLConnection uc = url.open...

    在开发系统设置时,需要手动设置系统时间和使用网络时间来进行同步,这时候就需要来获取网络时间进行设置了 代码如下:

    URL url = new URL("http://www.baidu.com");//取得资源对象
                        URLConnection uc = url.openConnection();//生成连接对象
                        uc.connect(); //发出连接
                        long ld = uc.getDate(); //取得网站日期时间
                        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        Calendar calendar = Calendar.getInstance();
                        calendar.setTimeInMillis(ld);
                        final String format = formatter.format(calendar.getTime());
                        int year = calendar.get(Calendar.YEAR);
                        int month = calendar.get(Calendar.MONTH);
                        int day = calendar.get(Calendar.DAY_OF_MONTH);
                        int hour = calendar.get(Calendar.HOUR_OF_DAY);
                        int minute = calendar.get(Calendar.MINUTE);
                        Log.e("MainActivity","year:"+year+"--month:"+month+"---day:"+day+"---hour:"+hour+"---minute:"+minute+"--format:"+format);
                        ((AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE)).setTime(
                                calendar.getTimeInMillis());
    
    展开全文
  • 项目中有时候会用到获取网络时间来进行倒计时,但是获取系统时间和手机本地的时间是同步的,如果手机时间不对,那么获取的时间也是手机本地不对的时间。 多的不说了上代码 private void getCalendarTime(){ ...

    项目中有时候会用到获取网络时间来进行倒计时,但是获取系统时间和手机本地的时间是同步的,如果手机时间不对,那么获取的时间也是手机本地不对的时间。

    多的不说了上代码

    private void  getCalendarTime(){
            final Calendar c = Calendar.getInstance();
    
            c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
    
            String mYear = String.valueOf(c.get(Calendar.YEAR));//年
    
            String mMonth = String.valueOf(c.get(Calendar.MONTH) + 1);//月
    
            String mDay = String.valueOf(c.get(Calendar.DAY_OF_MONTH));//日
    
            String mHour = String.valueOf(c.get(Calendar.HOUR_OF_DAY));//24小时格式    HOUR(12小时格式)
    
            String  mMinute = String.valueOf(c.get(Calendar.MINUTE));//分
    
            String  mSecond = String.valueOf(c.get(Calendar.SECOND));//秒
    
            tv1.setText(mYear+"-"+mMonth+"-"+mDay+"  "+mHour+":"+mMinute+":"+mSecond);
    
        }

    输出时间为

    其中注意获取的月份必须要加1,因为Calendar.MONTH获取到时间是从0开始的,也就是0~~11月而不是1~~12

    上面输出的时间为 2020-3-24-14:40:8 而不是我常见的2020-03-24 14:40:08

    那么这只需要简单的判断一下就可以得到我们需要的格式:

    /**
         * 个位数的时候前面补一个0
         * @param num
         * @return
         */
        public static String getStrs(int num){
            String string ;
            if (isNum(num)){
                string= String.valueOf(num);
            }else {
                string="0"+num;
            }
            return string;
        }
    
        /**
         * 判断是否为个位数
         * @param num
         * @return
         */
        public static boolean isNum(int num){
            boolean isNum;
            if (num >9) {
                isNum=true;
            } else {
                isNum=false;
            }
            return isNum;
        }

    最终对输入的值进行判断

            String time=mYear+"-"+getStrs(mMonth)+"-"+getStrs(mDay)+" "+getStrs(mHour)+":"+getStrs(mMinute)+":"+getStrs(mSecond);
    

    对月 、日、时、分、秒进行判断,年肯定不会为个位数,至此就得到了我们需要的 

    "yyyy-MM-dd HH:mm:ss"格式的时间

    例如一下输出

    E/测试网络时间: 2020-03-24 14:57:18

    完整的代码如下:

    /*
         * 使用Calendar获取系统时间
         */
    
        private void  getCalendarTime(){
            final Calendar c = Calendar.getInstance();
            c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
            int mYear = c.get(Calendar.YEAR);//年
            int mMonth = c.get(Calendar.MONTH) + 1;//月
            int mDay = c.get(Calendar.DAY_OF_MONTH);//日
            int mHour = c.get(Calendar.HOUR_OF_DAY);//24小时格式    HOUR(12小时格式)
            int  mMinute = c.get(Calendar.MINUTE);//分
            int  mSecond = c.get(Calendar.SECOND);//秒
            String time=mYear+"-"+getStrs(mMonth)+"-"+getStrs(mDay)+" "+getStrs(mHour)+":"+getStrs(mMinute)+":"+getStrs(mSecond);
            tv1.setText(time);
            Log.e("测试网络时间",time);
        }
    
        /**
         * 个位数的时候前面补一个0
         * @param num
         * @return
         */
        public static String getStrs(int num){
            String string ;
            if (isNum(num)){
                string= String.valueOf(num);
            }else {
                string="0"+num;
            }
            return string;
        }
    
        /**
         * 判断是否为个位数
         * @param num
         * @return
         */
        public static boolean isNum(int num){
            boolean isNum;
            if (num >9) {
                isNum=true;
            } else {
                isNum=false;
            }
            return isNum;
        }

     

    展开全文
  • android命令行网络时间同步

    千次阅读 2015-06-18 14:11:45
    既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割版的linux,很多命令都不支持,如rdate命令(网络同步时间命令)。既然不支持,那我使他支持不就完了。 三...
  • 劣质Android软件导致待机时间下降

    千次阅读 2011-02-13 20:32:00
    劣质Android软件导致待机时间下降
  • ...恶意软件可以说是我们现代生活的一大威胁,为了保护我们电子设备中的财产和资料安全,...前段时间,来自贝尔法斯特女王大学和亚利桑那州立大学的研究者提出并开源了一种使用神经网络来帮助检测安卓(Androi
  • 1、获取网络时间new Thread(new Runnable() { @Override public void run() { URL url = null;//取得资源对象 try { url = new URL("http://www.baidu.com"); URLConnection bai...
  • 本项目是一个基于安卓的记事本+账单小例子源码,记事本部分有bug一点添加程序就会狗带。记账部分测试了一下没有问题,账单的显示试用了类似时间轴的显示方式,比传统的列表形式更加直观,我的账户下也有现金。储蓄卡...
  • 时间管理软件(适用于Android手机)

    热门讨论 2011-06-05 09:28:57
    好好使用这三个软件,将为你管理自己的时间带来很大帮助,让你与时间交朋友。 GotToDo:轻松管理任务计划,借助3G或Wifi网络,可实现与云端同步,方便手机与计算机共享任务计划。 TimeRecording:简单易用的时间记录器...
  • 使用HTTP请求服务器获取json数据,在网络状态不好的时候,往往请求时间能达到数十秒甚至几分钟时间,而且检查过后发现服务器端和客户端均运转正常,没有出现服务器压力过大的情况,那么到底是哪一步让app获取数据的...
  • 本项目是一个基于安卓的记事本 账单小例子源码,记事本部分有bug一点添加程序就会狗带。记账部分测试了一下没有问题,账单的显示试用了类似时间轴的显示方式,比传统的列表形式更加直观,我的账户下也有现金。储蓄卡...
  • 基于Xamarin的简易Android聊天软件,模仿 。 数据库图书馆管理 数字图像处理 计算机网络 简易网络五子棋 简易多人聊天室 多线程端口扫描 网络安全课程设计 数字签名(C#重写MD5算法) 示意图 模仿Win10风格计算器...
  • 距离上一篇一起来开发Android天气软件二的时间又将近半个月了,之间一直因为有事而没有更新实在抱歉,最近会加快更新的步伐,争取在2015年到来前写完这系列的博文,上一章我们已经使用LitePal框架搭建好了我们所需的...
  • Android改机 安卓改机软件 免root/不刷机/拒绝Xposed 实现 技术分析 举例说明:主要修改的参数有: Android_Id、IMEI、手机序列号、手机号码、WIFI-MAC、WIFI-Name、安卓系统版本、ROM固件、手机号码、手机型号、...
  • WireShark是一个非常准确和稳定的tcp抓包工具,但看其40多m的安装包就可以想象其功能的强大,借助其功能强大的表达式筛选器,可以迅速的筛选出来我们所需要报文和记录,最近我就通过WireShark推断网络性能问题的故障...
  • 小老鼠安卓挂Q免费版软件使用简单,QQ安卓协议开发,支持批量/单个一键登录,自动记忆所导入的帐号和各种参数设置,是一款非常好的qq挂机软件。   小老鼠安卓挂Q免费版主要功能: 1、支持分批挂机 2、支持...
  • Android网络请求三篇

    千次阅读 2016-11-02 23:18:39
    篇一:Android 网络操作和优化相关 篇二:Android网络请求心路历程 篇三:Android开源项目推荐之「网络请求哪家强」
  • Android软件安全开发实践

    千次阅读 2014-09-26 10:16:53
    第一期将从数据存储、网络通信、密码和认证策略这三个角度,带你走上Android软件安全开发实践之旅。 过去两年,研究人员已发现Android上的流行软件普遍存在安全缺陷或安全漏洞。漏洞频发的原因可能有很多,例如以下...
  • 前言 网络优化一直被认为是移动优化水最深的领域之一,因此要想对网络...3)、计算机网络不仅包含 「软件概念」,还包含 「硬件设备」。 4)、计算机网络不仅仅是 「信息通信」,还可以 「支持广泛和日益增长的应用」。
  • Android安卓离线人脸考勤软件源码APP

    千次阅读 2018-04-02 21:50:18
    这样做的好处是他们的大数据运算的平台算力强劲,毫秒级就能算出结果,但是在实际运用中,大部分时间消耗在网络传输上面,比如百度人脸识别sdk 就需要传递1张base64的图给百度的api过去,网络传递过程时间是不可...
  • (5)可设置每批挂机的时间; (6)第一次登录时需要验证码,但第二次之后的登录全部免码,可大量下降挂机产生的打码费; (7)可导出免码文件,更换电脑后导入免码文件后登录,可免码登录; (8)自动远程输入...
  • 安卓恶意软件检测

    千次阅读 2020-08-11 17:52:14
    找数据集发现了安卓恶意软件检测这个方向 就找到了 看了下也不是很新 但是近几年发文章的人挺多 就这个了 反正也找不到我写啥 这是几个安卓恶意软件数据集 入手 先看几篇中文论文 别人怎么做的 前两章讲恶意软件...
  • 既然是Linux,那就应该支持linux的各种命令行,高度的可配置,但实验发现Android是Google的一个高度阉割版的linux,很多命令都不支持,如rdate命令(网络同步时间命令)。既然不支持,那我使他支持不就完了。 三...
  • Android 网络编程

    千次阅读 2018-03-04 22:10:22
    Android 网络编程】 HTTP HTTP简介 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。 HTTP...
  • 在使用Android连接网络的时候,并不是每次都能连接到网络,在这个时候,我们最好是在程序启动的时候对网络的状态进行一下判断,如果没有网络则进行即时提醒用户进行设置。 要判断网络状态,首先需要有相应的权限...
  • android网络音乐播放器

    千次阅读 2018-10-27 05:20:12
    网络音乐播放器 ** 转载请指明博客网址 作者:WangYouHu我的主页网址 链接:https://www.jianshu.com/p/855659f266ae 著作权归作者所有,任何形式的转载都请联系本人获得授权并注明出处。 相信大家不想再去...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 85,973
精华内容 34,389
关键字:

安卓网络时间软件