精华内容
参与话题
问答
  • 国内外常用公共NTP网络时间服务器

    万次阅读 2018-09-10 10:53:22
    目录 太长不看 NTP Pool Project NTP.ORG.CN NTP授时快速域名服务 企业 ...台湾国家时间与频率标准实验室 韩国标准科学研究院 日本国立信息通信技术研究所 美国国家标准技术研究所 印度科学与工业研究理事...

    目录

    太长不看

    NTP Pool Project

    NTP.ORG.CN NTP授时快速域名服务

    HSDN(Home Server Data Network)本地服务器数据网络

    企业

    阿里巴巴

    腾讯

    微软

    苹果

    谷歌

    Cloudflare

    高通

    MSK-IX (Moscow Internet eXchange) 莫斯科网络交换

    政府科研机构

    中国科学院国家授时中心

    香港天文台

    澳门地球物理暨气象局

    台湾国家时间与频率标准实验室

    韩国标准科学研究院

    日本国立信息通信技术研究所

    日本国立天文台 水沢

    美国国家标准技术研究所

    印度科学与工业研究理事会—国家物理实验室

    菲律宾科学技术部—大气,地球物理和天文服务管理局

    马来西亚国家计量学会

    高校

    清华大学

    中国科学技术大学

    上海交通大学

    复旦大学

    东北大学

    上海大学

    南京大学

    北京邮电大学

    CERNET

    东京大学

    京都大学

    东北大学(日本)

    福冈大学


     

    太长不看

    • 个人推荐

    server cn.pool.ntp.org
    server asia.pool.ntp.org
    server cn.ntp.org.cn
    server ntp.aliyun.com
    server time.asia.apple.com
    server time.windows.com

    • 支持IPv6

    server time.google.com
    server time.cloudflare.com
    server time.hko.hk
    server ntp.nict.jp
    server time.nist.gov
    server ntp.tuna.tsinghua.edu.cn
    server ntp.neu.edu.cn
    server ntp.nc.u-tokyo.ac.jp
    server ntp.ix.ru

    • Network Time Foundation's NTP Project 

    Stratum One Time Servers:http://support.ntp.org/bin/view/Servers/StratumOneTimeServers
    Stratum Two Time Servers:http://support.ntp.org/bin/view/Servers/StratumTwoTimeServers

    NTP Pool Project

    官网:https://www.ntppool.org/zh/

    pool.ntp.org 是一个以时间服务器的大虚拟集群为上百万的客户端提供可靠的 易用的 网络时间协议(NTP)服务的项目。
    NTP池正在为世界各地成百上千万的系统提供服务。 它是绝大多数主流Linux发行版和许多网络设备的默认“时间服务器”

    Internet空间服务器
    https://www.ntppool.org/zh/use.html

    pool.ntp.org

    server 0.pool.ntp.org
    server 1.pool.ntp.org
    server 2.pool.ntp.org
    server 3.pool.ntp.org

    洲际空间服务器
    https://www.ntppool.org/zone/@

    以亚洲为例:
    asia.pool.ntp.org

    server 0.asia.pool.ntp.org
    server 1.asia.pool.ntp.org
    server 2.asia.pool.ntp.org
    server 3.asia.pool.ntp.org

    国家服务器
    https://www.ntppool.org/zone/asia

    以中国为例:
    cn.pool.ntp.org

    server 0.cn.pool.ntp.org
    server 1.cn.pool.ntp.org
    server 2.cn.pool.ntp.org
    server 3.cn.pool.ntp.org

    NTP.ORG.CN NTP授时快速域名服务

    官网:http://www.ntp.org.cn/

    2012年10月,我们开始提供NTP解析服务。现在5年多过去了,这项服务已经被越来越多的使用,我们正在接近最开始做这个服务的初心:提供更好的NTP服务!

    在过去的5年多里,解析量从每天提供数十万次,增长到了现在每天超过2000万次!

    但是我们仍然认为我们做的不够!在接下来的发展中,我们将提供更多更快速更稳定的NTP节点为大家服务!

    中国

    cn.ntp.org.cn

    其它区域域名查询:http://www.ntp.org.cn/pool.php

    HSDN(Home Server Data Network)本地服务器数据网络

    俄罗斯的一个私人非营利项目,用于构建计算机网络和信息技术领域的各种解决方案。

    https://www.ntp-servers.net/servers.html

    stratum 2

    server ntp1.stratum2.ru
    server ntp2.stratum2.ru
    server ntp3.stratum2.ru
    server ntp4.stratum2.ru
    server ntp5.stratum2.ru

    stratum 1

    server ntp1.stratum1.ru  
    server ntp2.stratum1.ru    
    server ntp3.stratum1.ru    
    server ntp4.stratum1.ru    
    server ntp5.stratum1.ru

    企业

    阿里巴巴

    阿里巴巴公共系统服务

    https://developer.aliyun.com/mirror

    ntp.aliyun.com

    阿里云NTP服务
    https://help.aliyun.com/document_detail/92704.html

    server ntp1.aliyun.com
    server ntp2.aliyun.com
    server ntp3.aliyun.com
    server ntp4.aliyun.com
    server ntp5.aliyun.com
    server ntp6.aliyun.com
    server ntp7.aliyun.com

    曾用于提供NTP服务的地址,仍然有效,但不推荐使用

    time.pool.aliyun.com

    腾讯

    腾讯云
    https://cloud.tencent.com/document/product/213/30392

    server time1.cloud.tencent.com
    server time2.cloud.tencent.com
    server time3.cloud.tencent.com
    server time4.cloud.tencent.com
    server time5.cloud.tencent.com

    微软

    Windows自带

    time.windows.com

    苹果

    macOS自带

    time.apple.com
    time.asia.apple.com
    time.euro.apple.com

    server time1.apple.com
    server time2.apple.com
    server time3.apple.com
    server time4.apple.com
    server time5.apple.com
    server time6.apple.com
    server time7.apple.com

    谷歌

    Google Public NTP
    https://developers.google.com/time

    支持IPv6
    time.google.com

    server time1.google.com
    server time2.google.com
    server time3.google.com
    server time4.google.com

    Cloudflare

    支持IPv6

    time.cloudflare.com

    高通

    Qualcomm® 位置 (XTRA 预测卫星数据服务)

    http://izatcloud.net/

    https://android.googlesource.com/device/google/wahoo/+/refs/tags/android-8.0.0_r34/gps.conf#14

    time.izatcloud.net

    https://android.googlesource.com/platform/hardware/qcom/gps/+/refs/heads/master/etc/gps.conf#20

    time.gpsonextra.net

    MSK-IX (Moscow Internet eXchange) 莫斯科网络交换

    http://support.ntp.org/bin/view/Servers/PublicTimeServer000766

    世界排名前五(2019年),俄罗斯第二大的网络交换中心。

    支持IPv6

    ntp.ix.ru

    政府科研机构

    中国科学院国家授时中心

    网络授时
    http://www.ntsc.ac.cn/shye/tzgg/201809/t20180921_5086032.html

    时间精度和服务器稳定性不太理想

    ntp.ntsc.ac.cn

    香港天文台

    网络时间服务

    https://www.hko.gov.hk/sc/nts/ntime.htm

    IPv4
    stdtime.gov.hk

    IPv6
    time.hko.hk

    澳门地球物理暨气象局

    互联网授时服务
    https://www.smg.gov.mo/zh/subpage/224/page/178

    time.smg.gov.mo

    台湾国家时间与频率标准实验室

    https://www.stdtime.gov.tw/

    中国大陆无法使用

    server tick.stdtime.gov.tw
    server tock.stdtime.gov.tw
    server time.stdtime.gov.tw
    server clock.stdtime.gov.tw
    server watch.stdtime.gov.tw

    韩国标准科学研究院

    https://www.kriss.re.kr/standard/view.do?pg=standard_set_02

    time.kriss.re.kr

    日本国立信息通信技术研究所

    http://jjy.nict.go.jp/tsp/PubNtp/index.html

    支持IPv6

    ntp.nict.jp

    日本国立天文台 水沢

    http://www.miz.nao.ac.jp/
    https://www.miz.nao.ac.jp/vlbi/ntp.html#ntp

    s2csntp.miz.nao.ac.jp

    美国国家标准技术研究所

    TIME AND FREQUENCY SERVICES
    https://www.nist.gov/pml/time-and-frequency-division/services/internet-time-service-its

    支持IPv6

    time.nist.gov

    其余服务器域名,服务器IP、地址以及状态查询:https://tf.nist.gov/tf-cgi/servers.cgi

    印度科学与工业研究理事会—国家物理实验室

    CSIR-National Physical Laboratory——"National Measurement Institute of India"
    http://www.nplindia.in/
    http://www.nplindia.in/clockcode/html/index.php
    http://www.nplindia.in/clockcode/html/how_to_sync.php

    time.nplindia.org

    菲律宾科学技术部—大气,地球物理和天文服务管理局

    http://bagong.pagasa.dost.gov.ph/
    http://bagong.pagasa.dost.gov.ph/astronomy#philippine-standard-time

    ntp.pagasa.dost.gov.ph

    马来西亚国家计量学会

    http://www.nmim.gov.my/index.php/info/malaysia-standard-time.html

    ntp1.sirim.my
    ntp2.sirim.my
    ntp3.sirim.my

    高校

    清华大学

    网络授时
    https://tuna.moe/help/ntp/

    支持IPv6

    ntp.tuna.tsinghua.edu.cn

    中国科学技术大学

    http://hmli.ustc.edu.cn/doc/linux/google-authenticator/

    time.ustc.edu.cn

    上海交通大学

    ntp.sjtu.edu.cn

    复旦大学

    http://www.ecampus.fudan.edu.cn/2266/list.htm

    ntp.fudan.edu.cn

    东北大学

    网络授时服务
    http://ntp.neu.edu.cn/

    支持IPv6

    ntp.neu.edu.cn

    上海大学

    网络时钟
    http://www.its.shu.edu.cn/sytplb/jcfw/wlsz.htm
    http://cms.shu.edu.cn/ntp

    ntp.shu.edu.cn

    南京大学

    https://itsc.nju.edu.cn/21613/listm.htm

    ntp.nju.edu.cn

    北京邮电大学

    支持IPv6

    time.buptnet.edu.cn

    CERNET

    域名 地理位置 可用性 备注
    4 time.edu.cn   可用 多台服务器
    4 s2c.time.edu.cn 中国北京 可用 当前IP   202.112.10.36(rDNS: gus.buptnet.edu.cn )
    2 s2f.time.edu.cn 中国辽宁沈阳 可用 当前IP   202.112.29.82(rDNS: dns1.synet.edu.cn )
    2 s2k.time.edu.cn 中国广西桂林 可用 当前IP   202.193.158.37(rDNS: ntp.glnet.edu.cn)

    长期缺乏维护,时间精度和服务器稳定性可能无法保证,仅供参考

    http://www.time.edu.cn/mem.htm

    CERNET时间服务结构

    • 第一级为4个核心节点:清华、北邮、北大、东南大学。
    • 第二级直接从第一级获得时间服务。
    • 第三级只从第二级节点获得时间服务。
    • N级服务器的域名为sN[a-z].time.edu.cn

    CERNET时间服务提供者列表

    域名 地理位置 负责人 邮件 电话
    1 s1a.time.edu.cn 北京邮电大学 王振华 wzhdl at bupt.edu.cn 010-62283044-8003
    1 s1b.time.edu.cn 清华大学 尹惠实 yhs at cernet.edu.cn 010-62795818-6105
    1 s1c.time.edu.cn 北京大学 马皓 mah at pku.edu.cn 010-62753007
    1 s1d.time.edu.cn 东南大学 徐加羚 jlxu at njnet.edu.cn 025-3794342-309
    1 s1e.time.edu.cn 清华大学 尹惠实 yhs at cernet.edu.cn 010-62795818-6105
    2 s2a.time.edu.cn 清华大学 尹惠实 yhs at cernet.edu.cn 010-62795818-6105
    2 s2b.time.edu.cn 清华大学 尹惠实 yhs at cernet.edu.cn 010-62795818-6105
    2 s2c.time.edu.cn 北京邮电大学 王振华 wzhdl at bupt.edu.cn 010-62283044-8003
    2 s2d.time.edu.cn 西南地区网络中心 董茜 appletung at uestc.edu.cn 028-61830330
    2 s2e.time.edu.cn 西北地区网络中心 丁惠宁 dhn at xanet.edu.cn 029-2669037
    2 s2f.time.edu.cn 东北地区网络中心 毛宇 maoy at neu.edu.cn 024-23966854
    2 s2g.time.edu.cn 华东南地区网络中心 瞿庆海 qqh at sjtu.edu.cn 021-62932901-8101
    2 s2h.time.edu.cn 四川大学网络管理中心 郑炳伦 zhengbl at scu.edu.cn 028-85414820
    2 s2j.time.edu.cn 大连理工大学网络中心 于广辉 ygh at dlut.edu.cn 0411-4708642
    2 s2k.time.edu.cn CERNET桂林主节点 胡进坤 jinkun at mailbox.gxnu.edu.cn 0773-5845246
    2 s2m.time.edu.cn 北京大学 马皓 mah at pku.edu.cn 010-62753007

     

    http://www.time.edu.cn/str.htm

    CERNET时间服务结构规划

    CERNET时间服务结构规划

    系统结构的规划和管理

    • 从上至下分为三级:核心节点,地区网络节点和省级网络节点。
    • 第一级为4个核心节点,其间进行peer。
    • 第二级为10个地区级的网络节点,它们直接从第一级获得时间服务。
    • 第三级为28个省级网络节点,它们只从第二级节点获得时间服务。
    • 关键系统服务,如路由等,由核心节点提供服务。
    • 校园网可向第一级节点直接请求服务,但由分配的其地区内的几个临近节点提供服务。
    • 校园网也可向地区内的临近节点直接请求服务。

    东京大学

    https://www.u-tokyo.ac.jp/

    支持IPv6

    ntp.nc.u-tokyo.ac.jp

    京都大学

    http://www.iimc.kyoto-u.ac.jp/en/services/kuins/kuins/use/ntp.html

    ntp.kuins.kyoto-u.ac.jp

    东北大学(日本)

    https://www.tains.tohoku.ac.jp/contents/information/server-info.html

    ntp.tohoku.ac.jp

    福冈大学

    这项服务将在不久的将来停止。如果您正在使用此服务,请更改设置。

    https://www.ipc.fukuoka-u.ac.jp/service/ntp/public_ntp_en/

    133.100.9.2

    展开全文
  • 获取网络时间

    千次阅读 2018-08-01 19:08:11
    本地时间可能不可靠,获取网络上的标准时间来自动校正。 怎么获取? 我搞过一些网页抓取,虽然不会python,但也毕竟是搞过。所以,如果有一些权威网站,页面上发布了标准时间,或者提供了相关的Web API,抓取...

    本地时间可能不可靠,获取网络上的标准时间来自动校正。

    怎么获取?

    我搞过一些网页抓取,虽然不会python,但也毕竟是搞过。所以,如果有一些权威网站,页面上发布了标准时间,或者提供了相关的Web API,抓取之,访问之,不就好啦!

    拿衣服。根本不用抓取。请求一下这个权威站点就好了,啥都不用抓。

    上代码:

    Uri target = new Uri("http://time.beijing-time.org/time.asp");
    HttpWebRequest req = (HttpWebRequest)WebRequest.Create(target);
    req.Timeout = 30000;
    var h = req.GetResponse().Headers;
    if (DateTime.TryParse(h.Get("Date"), out DateTime d))
    {//从消息头里拿日期信息就行了。这个日期,是网站服务器的时间,应该是准的。
    //当然,如果发布权威时间的网站的服务器本身时间都不准,那就无语了,只能认了
    	int offset = (int)d.Subtract(DateTime.Now).TotalDays;
    	save(offset);
    }
    

    //从消息头里拿日期信息就行了。这个日期,是网站服务器的时间,应该是准的。
    //当然,如果发布权威时间的网站的服务器本身时间都不准,那就无语了,只能认了

    展开全文
  • C#同步网络时间

    千次阅读 多人点赞 2013-01-15 07:57:52
    客户的机器的系统时间经常出错,导致给他们做的软件无法正常使用,所以后来就加了一个同步网络时间的小功能。实现起来很简单,但是却很使用。 这个小功能就是先获取网络时间,然后将系统的时间修改成从网络获得...

    客户的机器的系统时间经常出错,导致给他们做的软件无法正常使用,所以后来就加了一个同步网络时间的小功能。实现起来很简单,但是却很使用。


    这个小功能就是先获取网络时间,然后将系统的时间修改成从网络获得的时间。下面是具体的实现:


    获取网络时间: 

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.IO;  
    using System.Net;  
    using System.Net.Sockets;  
    using System.Text.RegularExpressions;  
    using System.Runtime.InteropServices;
    using System.Runtime;    
    
    
    
        /// <summary>  
        /// 网络时间  
        /// </summary>  
        public class NetTime
        {
           
            /// <summary>  
            /// 获取标准北京时间,读取http://www.beijing-time.org/time.asp  
            /// </summary>  
            /// <returns>返回网络时间</returns>  
            public DateTime GetBeijingTime()
            {
             
                DateTime dt;
                WebRequest wrt = null;
                WebResponse wrp = null;
                try
                {
                    wrt = WebRequest.Create("http://www.beijing-time.org/time.asp");
                    wrp = wrt.GetResponse();
    
                    string html = string.Empty;
                    using (Stream stream = wrp.GetResponseStream())
                    {
                        using (StreamReader sr = new StreamReader(stream, Encoding.UTF8))
                        {
                            html = sr.ReadToEnd();
                        }
                    }
    
                    string[] tempArray = html.Split(';');
                    for (int i = 0; i < tempArray.Length; i++)
                    {
                        tempArray[i] = tempArray[i].Replace("\r\n", "");
                    }
    
                    string year = tempArray[1].Split('=')[1];
                    string month = tempArray[2].Split('=')[1];
                    string day = tempArray[3].Split('=')[1];
                    string hour = tempArray[5].Split('=')[1];
                    string minite = tempArray[6].Split('=')[1];
                    string second = tempArray[7].Split('=')[1];
    
                    dt = DateTime.Parse(year + "-" + month + "-" + day + " " + hour + ":" + minite + ":" + second);
                }
                catch (WebException)
                {
                    return DateTime.Parse("2011-1-1");
                }
                catch (Exception)
                {
                    return DateTime.Parse("2011-1-1");
                }
                finally
                {
                    if (wrp != null)
                        wrp.Close();
                    if (wrt != null)
                        wrt.Abort();
                }
                return dt;
    
            }
        }



    获取网络时间,返回一个DateTime对象,然后传给设置系统时间的方法,修改系统时间。

    同步系统时间:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO;
    using System.Net;
    using System.Net.Sockets;
    using System.Text.RegularExpressions;
    using System.Runtime.InteropServices;
    using System.Runtime;    
    
    
        /// <summary>
        /// 更新系统时间
        /// </summary>
        public class UpdateTime
        {
            //设置系统时间的API函数
            [DllImport("kernel32.dll")]
            private static extern bool SetLocalTime(ref SYSTEMTIME time);
    
            [StructLayout(LayoutKind.Sequential)]
            private struct SYSTEMTIME
            {
                public short year;
                public short month;
                public short dayOfWeek;
                public short day;
                public short hour;
                public short minute;
                public short second;
                public short milliseconds;
            }
    
            /// <summary>
            /// 设置系统时间
            /// </summary>
            /// <param name="dt">需要设置的时间</param>
            /// <returns>返回系统时间设置状态,true为成功,false为失败</returns>
            public static bool SetDate(DateTime dt)
            {
                SYSTEMTIME st;
    
                st.year = (short)dt.Year;
                st.month = (short)dt.Month;
                st.dayOfWeek = (short)dt.DayOfWeek;
                st.day = (short)dt.Day;
                st.hour = (short)dt.Hour;
                st.minute = (short)dt.Minute;
                st.second = (short)dt.Second;
                st.milliseconds = (short)dt.Millisecond;
                bool rt = SetLocalTime(ref st);
                return rt;
            }
        }

    两个方法分别写在了两个类里面,只需要在客户端实例化两个对象,然后依次调用其方法即可,简单实用。

    PS:Win8修改系统时间需要管理员的权限,下篇博客介绍如何让程序默认以管理员权限运行,敬请期待!




    展开全文
  • 方法一:SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); dff.setTimeZone(TimeZone.getTimeZone("GMT+08"));...这个方法不随手机时间的变动而变动。

    方法一:

    SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    dff.setTimeZone(TimeZone.getTimeZone("GMT+08"));  
    String ee = dff.format(new Date());
    

    这个方法获取的结果是24小时制的,月份也正确。

    方法二:

    Calendar calendar = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss");
    sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
    String rt = sdf.format(calendar.getTime());
    

    这个方法获取的结果是不是24小时制的,月份也正确。

    方法三:

    public static String getLocalDatetimeString(String local) {  
       Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(local));  
       cal.setTimeInMillis(Calendar.getInstance().getTimeInMillis());  
       String date = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH);  
       String time = cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND);  
       return date + " " + time;  
    }  
    方法调用:
    String tt = getLocalDatetimeString("GMT+8");  
    

    代码里也看出来了,这个在月份上加了一个1, 24小时制

    以上三种方法验证如下:

    import java.sql.Time;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.GregorianCalendar;
    import java.util.TimeZone;
    
    
    public class TimeTest {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		method1();
    		method2();
    		method3();
    	}
    	
    	static void method1(){
    		SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
    		dff.setTimeZone(TimeZone.getTimeZone("GMT+08"));  
    		String ee = dff.format(new Date());
    		System.out.println("ee="+ee);
    	}
    	
    	static void method2(){
    		Calendar calendar = Calendar.getInstance();
    		SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss");
    		sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));
    		String rt = sdf.format(calendar.getTime());
    		System.out.println("TimeTest.method2() rt="+rt);
    	}
    	static void method3(){
    		String local = "GMT+8";
    		Calendar cal = new GregorianCalendar(TimeZone.getTimeZone(local));  
    		cal.setTimeInMillis(Calendar.getInstance().getTimeInMillis());  
    		String date = cal.get(Calendar.YEAR) + "-" + (cal.get(Calendar.MONTH) + 1) + "-" + cal.get(Calendar.DAY_OF_MONTH);  
    		String time = cal.get(Calendar.HOUR_OF_DAY) + ":" + cal.get(Calendar.MINUTE) + ":" + cal.get(Calendar.SECOND);  
    		System.out.println("TimeTest.method3() date="+date+",time="+time);
    	}
    
    }
    

    结果如下:
    这里写图片描述

    第四种方法:
    网上还有这种方法获取时间:

    URL url=new URL("http://www.bjtime.cn");//取得资源对象
           URLConnection uc=url.openConnection();//生成连接对象
           uc.connect(); //发出连接
           long ld=uc.getDate(); //取得网站日期时间
           Date date=new Date(ld); //转换为标准时间对象
           //分别取得时间中的小时,分钟和秒,并输出
           System.out.print(date.getHours()+"时"+date.getMinutes()+"分"+date.getSeconds()+"秒");
    

    这种方式需要开启一个线程获取时间,同时也存在着一种风险就是由于网络问题,获取不到响应的问题。还有一个重要的问题件就是这个时间的获取会随着手机时区的改变而改变。

    方法五:

    通过网络或者GPS的方式。
    代码:
    LocationManager locMan = (LocationManager) this.getSystemService(MainActivity.LOCATION_SERVICE);
    //获取最近一次知道的时间
    long networkTS = locMan.getLastKnownLocation(LocationManager.NETWORK_PROVIDER).getTime();
    
    或者实时的获取时间:
    locMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); //获取当前时间
    
    当我们使用requestLocationUpdates时,我们需要实现LocationListener接口。
    在LocationListen的回调onLocationChanged当中获取时间
    @Override
    public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub
    long time = location.getTime();
    Date date = new Date(time);
    System.out.println(time + " NETWORK_PROVIDER " + date);
    // System.out.println(STANDARD_TIME + " ");
    }
    

    这种方式是利用手机定位系统进行时间的获取,但是这种方式会随着手机的设置的时区的变动而改变。

    第四种方式和第五种方式,我都在手机端进行了验证,可以正常获取时间。方式是没有问题的。

    既然有这么多方法,大家看着那种方式适合自己的需求,选择相应的方法。

    我还是推荐第一种方法!简单实用!!!!_

    今天再在本文基础上补充一些内容。现在我的项目中有这样一种需求:就是播放视频的时候,特别是监控视频,我想要有时间限制,在一定时间内可以观看,超出设置的时间,不能观看。
    android端对于这样的需求,上面的几种方法都不行了,因为上面的方法都跟手机系统有关系了,当我改变手机系统的时间,时区等都会造成获取的时间不对应,跟服务器时间不对。怎么办呢?有办法!!!
    我是这样做的,当获取到信息的时候,比如视频节点信息的时候,服务器顺带着把服务器当前的时间返回来,有了服务器的时间,剩下的我就利用用户操作的时间间隔,加上服务器的时间不就是手机所在地当前的时间吗?
    那么时间间隔怎么算呢?请看下面的SystemClock类几个方法:

    1、System.currentTimeMillis()是一个标准的“墙”时钟(时间和日期),表示从纪元到现在的毫秒数。该墙时钟能够被用户或电话网络(见setCurrentTimeMillis(long))设置,所以该时间可能会向前或向后不可预知地跳越。该时钟应该仅仅被使用在当现实世界的对应的日期和时间是重要的情况,例如一个日历或闹钟应用程序。而间隔时间和经过时间应该使用不同的时钟。如果你使用System.currentTimeMillis(),可以考虑监听ACTION为ACTION_TIME_TICK、 ACTION_TIME_CHANGED、ACTION_TIMEZONE_CHANGED 的广播去监听时间变化。

    2、uptimeMillis()表示自系统启动时开始计数,以毫秒为单位。返回的是从系统启动到现在这个过程中的处于非休眠期的时间。当系统进入深度睡眠时(CPU关闭,设备变黑,等待外部输入装置)该时钟会停止。但是该时钟不会被时钟调整,闲置或其他节能机所影响。这是大多数间隔时间的基本点,例如Thread.sleep(millls)、Object.wait(millis)和System.nanoTime()。该时钟被保证是单调的,适用于检测不包含休眠的间隔时间的情况。大多数的方法接受一个时间戳的值除了uptimeMillis()时钟。

    3、elapsedRealtime() and elapsedRealtimeNanos() 返回系统启动到现在的时间,包含设备深度休眠的时间。该时钟被保证是单调的,即使CPU在省电模式下,该时间也会继续计时。该时钟可以被使用在当测量时间间隔可能跨越系统睡眠的时间段。

    有几种机制控制事件发生的时间:

    1、标准的方法像Thread.sleep(millis) 和 Object.wait(millis)总是可用的,这些方法使用的是uptimeMillis()时钟,如果设备进入深度休眠,剩余的时间将被推迟直到系统唤醒。这些同步方法可能被Thread.interrupt()中断,并且你必须处理InterruptedException异常。

    2、SystemClock.sleep(millis)是一个类似于Thread.sleep(millis)的实用方法,但是它忽略InterruptedException异常。使用该函数产生的延迟如果你不使用Thread.interrupt(),因为它会保存线程的中断状态。

    3、Handler可以在一个相对或者绝对的时间设置异步回调,Handler类对象也使用uptimeMillis()时钟,而且需要一个loop(经常出现在GUI程序中)。

    4、AlarmManager可以触发一次或重复事件,即使设备深度休眠或者应用程序没有运行。事件可以选择用 currentTimeMillis或者elapsedRealtime()(ELAPSED_REALTIME)来设置时间,当事件发生会触发一个广播。

    方法:
    1、public static long currentThreadTimeMillis () 返在当前线程运行的毫秒数。

    2、public static long elapsedRealtime () 返回系统启动到现在的毫秒数,包含休眠时间。

    3、public static long elapsedRealtimeNanos () 返回系统启动到现在的纳秒数,包含休眠时间。

    4、public static boolean setCurrentTimeMillis (long millis) 设置当前的"墙"时间,要求调用进程有许可权限。返回是否成功。

    5、public static void sleep (long ms) 等待给定的时间。和Thread.sleep(millis)类似,但是它不会抛出InterruptedException异常。事件被推迟到下一个中断操作。该方法直到指定的时间过去才返回。

    6、public static long uptimeMillis () 返回系统启动到现在的毫秒数,不包含休眠时间。就是说统计系统启动到现在的非休眠期时间。

    这些方法大家看看就知道啦。以上内容参考:http://www.2cto.com/kf/201403/288497.html

    剩下的就是计算事件间隔了:
    public static long elapsedRealtime () 返回系统启动到现在的毫秒数,包含休眠时间
    这个方法就可以计算从服务器返回时间到用户操作,播放视频这一段时间的时间间隔。有个这个不就可以做到时间不受手机系统的限制了吗?

    /**
    	 * 
    	 * @param ts 形如yyyy-MM-dd hh:mm:ss
    	 * @param intervalTime  long类型
    	 * @return String HH:mm:ss
    	 */
    	@SuppressLint("SimpleDateFormat")
    	public static String getTime(String ts,long intervalTime){
    		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    		Timestamp t=null;
    		String tt="";
    		   try {
    			t = new Timestamp(format.parse(ts).getTime());
    			long ss = t.getTime();
    			long st = ss+intervalTime;
    			tt= getTime(st);
    		} catch (java.text.ParseException e) {
    			e.printStackTrace();
    		}
    		return tt;
    	}
    	/**
    	 * @param mis
    	 * @return HH:mm:ss
    	 */
    	@SuppressLint("SimpleDateFormat")
    	public static String getTime(long mis){
    		SimpleDateFormat dff = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    		String ee = dff.format(new Date(mis));
    		return ee.substring(11);
    	}
    

    上面的方法中,
    ts参数就是服务器返回的当前时间,形如yyyy-MM-dd hh:mm:ss的字符串
    intervalTime参数,是获取到服务器响应到用户进行操作的时间间隔,就是使用上面的elapsedRealtime ()方法获取两次时间计算得到。
    方法的返回值String,形如 HH:mm:ss,这样返回字符串方便比较时间字符。由于视频事件限制,就是时分秒,不可能涉及到年月日,所以这里就是直接返回时分秒。

    有了这个方法,完美解决了android APP与服务器时间保持基本一致的需求。但是还是存在一定的问题的,因为服务器返回时间不定,可能长可能短,所以时间并不会和服务器的当前时间分秒不差,总会有延时,但是这个延时可以接受,大概最多在10秒左右。可以在时间间隔上稍微加一点就可以了。基本就满足需求了。

    OK,就说这么多。如果大家用到这里面的方法,给个赞吧~~
    【握手~】

    展开全文
  • 获取网络时间(国家标准时间)

    万次阅读 2015-11-27 23:45:03
    我们在开发中,很多应用需要读取网络时间来作为一个时间的标准,对业务逻辑进行相对可靠的校验。 下面是Java中(Android一样)读取网络时间的代码:package com.test;import java.io.IOException; import java.net....
  • 多方法获取网络时间

    万次阅读 热门讨论 2012-02-11 12:31:16
    在做YH维护的时候,偶尔会碰到这样的...所以我们可能需要用系统和网络的双重验证。    通过收集、修改、优化和测试,剔除了一些错误的和速度超慢的,只剩下了4种可行的方案。这些方案中主要有3类:  一、通过向
  • 本文讲述了在Linux中如何查看系统详细时间以及如何同步网络时间。给出了具体命令及用法示例。
  • VC++实现获取网络时间

    千次阅读 2012-09-04 16:50:26
    大家都知道Windows自带同步网络时间,我们来实现之代码如下#include #pragma comment(lib, "WS2_32") // 链接到WS2_32.lib class CInitSock { public: CInitSock(BYTE minorVer = 2, BYTE majorVer = 2) ...
  • CentOS7 时间与网络时间同步

    万次阅读 2019-04-29 15:18:12
    今天分享一下Centos下如何将本地集群时间和网络时间同步,这样妈妈再也不用担心我因为时间不一致而出现的失败情况。 问题描述:使用date命令查看之后,发现时间与本地时间不一致。 三步解决方法: 1、安装...
  • 接触到NTP时间同步有很多场景,当前常见场景在于纯局域网内部的计算机集群的时间同步和纠偏,或者以其中一台可以链接外部互联网的计算机作为枢纽,连接标准的NTP服务器进行时间同步和纠偏。这篇文章介绍一下NTP协议...
  • 要获取
  • 设置linux时间为网络时间

    千次阅读 2018-03-10 11:48:32
    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。 系统时间:指当前Linux Kernel中的时间。 硬件时间:主板上有电池供电的时间。 查看系统时间的命令: #date 设置系统时间的...
  • 获取本地时间和网络时间

    千次阅读 2016-03-10 11:34:19
    游戏中通常都会有根据时间来恢复体力值的设定,但是如果是本地时间的话,玩家可以通过修改本地时间的作弊行为来达到迅速恢复体力的目的。RT,我们便需要根据网络时间来进行判定。
  • Ubuntu设置系统时间与网络时间同步

    万次阅读 2017-12-17 10:02:29
    Linux默认情况下使用UTC格式作为标准时间格式,如果在Linux下运行程序,且在程 序中指定了与系统不一样的时区的时候,可能会造成时间错误。如果是Ubuntu的桌面版,则可以直接在图形模式下修改时区信息,但如果是在...
  • Linux同步网络时间

    万次阅读 2017-05-10 09:07:08
    Linux服务器运行久时,系统时间就会存在一定的误差,一般情况下可以使用date命令进行时间设置,但在做数据库集群分片等操作时对多台机器的时间差是有要求的,此时就需要使用ntpdate进行时间同步 安装: yum ...
  • JS获取网络时间

    千次阅读 2019-02-28 17:16:18
    在百度上查找了好多JS获取网络时间的方法 var xmlhttp = new ActiveXObject(&quot;MSXML2.XMLHTTP.3.0&quot;); xmlhttp.open(&quot;GET&quot;, &quot;http://bjtime.cn&quot;, false); ...
  • CentOS设置系统时间与网络时间同步

    万次阅读 2017-03-17 17:08:34
    Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。 系统时间:指当前Linux Kernel中的时间。 硬件时间:主板上有电池供电的时间。 查看系统时间的命令: #date 设置系统时间的...
  • NTP网络时间协议

    千次阅读 2018-07-25 09:55:08
    SNPT 秒级时间精度 NTP授时精度与NTP服务器与用户间的网络状况有关:广域网授时精度通常能达50ms级,但有时超过500ms;局域网授时不存在路由器路径延迟问题,因而授时精度理论上可以提到亚毫秒级;但是Windows内置...
  • Android - 获取系统时间和网络时间

    万次阅读 2017-06-06 18:08:51
    Android - 获取系统时间和网络时间
  • Java 获取本地时间与网络时间

    万次阅读 2017-01-17 10:57:48
    Java获取的时间分为本地时间和网络时间,一般情况下开发中获取的都是本地时间,但是有些情况也需要我们去获取网络时间,以校验时间的准确性。 下面我会分别介绍获取本地时间和网络时间的方法:获取本地时间 通过...
  • python获取网络时间和本地时间

    千次阅读 2019-04-16 08:48:24
    今天我们来看一下如何用python获取网络时间和本地时间,直接上代码吧,代码中都有注释。 python获取网络时间 1 2 3 4 5 6 7 8 9 10 11 12 13 1...
  • 用php的时候可能经常会用到标准时间,有两个办法:一、...二、。 第一种方法:获取服务器的时间 ... 然后就可以使用time()或date(''Y-m-d H:i:s)第二种方法:获取网络时间(这里是借用网上的,原文地址:http://justcod
  • Android获取网络时间

    千次阅读 2017-12-29 10:42:47
    在开发的时候,因为本机时间有时不准确,而往往会有需要取精准的网络时间的情况,该方法可以用来获取网络时间public static Date getNetTime(){ String webUrl = "http://www.ntsc.ac.cn";//中国科学院国家授时中心...
  • js获取网络时间

    千次阅读 2019-10-09 08:31:32
    function getNowFormatDate() { var currentdate; $.ajax({ type: 'GET', dataType: 'json', async: false, url: 'http://quan.suning.com/getSysTime.do', succe...
  • 神经网络时间复杂度

    万次阅读 2016-12-30 10:56:36
    拿一个简单的三层BP神经网络来说好了,假设每层神经元数量分别为n1,n2,n3。 拿一个样本(n1 * 1)进行前馈计算,那么就要进行两次矩阵运算,两次矩阵乘法(实际上是向量和矩阵相乘)分别要进行n1 * n2 和 n2 * ...
  • linux 修改系统时间 同步网络时间

    千次阅读 2018-09-06 20:12:56
    date -s time 修改系统时钟时间为time hwclock/clock 命令查看、设置硬件时间 查看系统硬件时钟 hwclock --show 或者 clock --show 设置硬件时间  hwclock --set --date="06/18/14 14:55"...
  • java 获取网络时间

    千次阅读 2019-02-28 09:26:33
    package com.tz.era.JavaFenCi; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection;...import java.text.SimpleDateFormat;...import java.ut...
  • linux同步网络时间

    千次阅读 2018-08-28 21:24:45
    命令:utpdate 时间服务器ip 例如 ntpdate -u ntp.api.bz  不能执行上述命令的先安装ntp插件 yum -y install ntp  常见的ntp服务器地址 中国国家授时中心:210.72.145.44 NTP服务器(上海) :ntp.api.bz ...
  • Android 获取网络时间

    千次阅读 2019-01-08 00:39:38
    在网上看到的最常见的方式有: public static void main(String[] args) throws Exception {  URL url=new URL("...);//取得资源对象  URLConnection uc=url.openConnection();//生成连接对象 ...

空空如也

1 2 3 4 5 ... 20
收藏数 109,296
精华内容 43,718
关键字:

网络时间