C#从网络获取时间更新本机时间

C# winform获取网络时间,不是系统的时间 首先开始设计 取名 label2     看代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using Sys... 阅读详情

因本机主板有问题,一断电就丢失时间,所以想了个方法从网络上获取最新时间,这样就不用自己去对时,网络一通,时间就能自动校正。

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.IO;
using System.Runtime.InteropServices;

namespace AutoExitWindows
{
 /// <summary>
 /// ReSetLocalTimeFromNetwork 的摘要说明。
 /// </summary>
 public class ReSetLocalTimeFromNetwork
 {
  [DllImport("kernel32",SetLastError=true)]
   static extern int SetSystemTime(ref SYSTEMTIME lpSystemTime);
  [DllImport("kernel32",SetLastError=true)]
   static extern int GetLastError();
  //Public Declare Function GetLastError Lib "kernel32" Alias "GetLastError" () As Long
  //Public Declare Function SetSystemTime Lib "kernel32" Alias "SetSystemTime" (lpSystemTime As SYSTEMTIME) As Long
  public struct SYSTEMTIME
  {
   short wYear;
   short wMonth;
   short wDayOfWeek;
   short wDay;
   short wHour;
   short wMinute;
   short wSecond;
   short wMilliseconds;
   
   public SYSTEMTIME(short year, short month, short dayofweek, short day, short hour, short minute, short second, short milliseconds)
   {
    wYear=year;
    wMonth=month;
    wDayOfWeek=dayofweek;
    wDay=day;
    wHour=hour;
    wMinute=minute;
    wSecond=second;
    wMilliseconds=milliseconds;
   }
  }

  public ReSetLocalTimeFromNetwork(string Server, string Port, string TimeZone)
  {
   try
   {
    //取网络时间
    SNTPTimeClient client=new SNTPTimeClient(Server,Port);
    client.Connect();    
    string strTest=client.ToString();
    Console.Write(strTest);

    //取出年、月、日、时、分、秒、微秒
    short intYear, intMonth, intDayofWeek, intDay, intHour, intMinute, intSecond, intMilliseconds;    

    Char[] split=new Char[1];
    split[0]=Convert.ToChar("/n");
    string[] temp=strTest.Split(split,100);
    
    string strDate="";
    int intPos=-1;
    for(int i=0; i<temp.Length-1; i++)
    {
     strDate=temp[i];
     if(strDate.Substring(0,10)=="Local time")
     {
      intPos=1;
      break;
     }
     else
      Console.Write(strDate.Substring(0,10) + "/n");
    }
    if (intPos<0 )
    {
     throw new Exception("Can't get server time!");     
    }
    strDate=strDate.Substring(11);

    //设置本地时间
    //注意,设置时,写入的时候应该是格林威治时间
    DateTime dtmDate=Convert.ToDateTime(strDate);
    dtmDate=dtmDate.AddHours((-1) * Convert.ToInt16(TimeZone));
    intYear=Convert.ToInt16 (dtmDate.Year);
    intMonth=Convert.ToInt16 (dtmDate.Month);
    intDayofWeek=Convert.ToInt16 (dtmDate.DayOfWeek);
    intDay=Convert.ToInt16 (dtmDate.Day);
    intHour=Convert.ToInt16 (dtmDate.Hour);
    intMinute=Convert.ToInt16 (dtmDate.Minute);
    intSecond=Convert.ToInt16 (dtmDate.Second);
    intMilliseconds=Convert.ToInt16 (dtmDate.Millisecond );

    SYSTEMTIME systime=new SYSTEMTIME(intYear, intMonth, intDayofWeek, intDay, intHour, intMinute, intSecond, intMilliseconds);    
    int intValue=SetSystemTime(ref systime);  
    if (intValue==0)
    {
     intValue=GetLastError();
     throw new Exception(intValue.ToString() + " error, can't set local time.");
    }
    //MessageBox.Show(intValue.ToString() + "/n" + DateTime.Now.ToString() + "/n" + strDate);    
   }
   catch(Exception e1)
   {
    throw e1;
   }
  }

 }
}

调用时:
ReSetLocalTimeFromNetwork objResetTime=new ReSetLocalTimeFromNetwork(strRemoteIP,strRemotePort,strTimeZone);

 

C#与网络时间同步的时间处理函数代码 时间准确的重要性不言而喻,有时候我们对时间的要求非常严格,有时候也要求不允许用户调整系统时间,有时候。。。等等情况下,我们都需要时间的同步,虽然Windows也有DOS命令来保持和时钟服务进行同步,但本文另辟途径,介绍另一种获取标准时间并同步时间的操作。 首先,我们来看看一个网站:国家授时中心(http://www.time.ac.cn/stime.asp),这个是应该是时间的权威机构,里面有各国各地的时间,我们可以通过同步该时间来实现系统时间的更新。首先分两步,一步是获取“国家授时中心”的时间,一步是 阅读详情

相关推荐

C#上位机——实时时间显示函数

#来自学渣的问候~~ 我在给北斗杯竞赛写的上位机软件里用到了很多的函数,非常的便捷,时间显示函数就是最简单的一个之一。 实时时间显示在大部分软件里都是一个很重要的部分,毕竟咱不能不看时间对吧。这里有两种显示方法,一个是使用TextBox来做显示,一个是用Label来做显示,函数如下: 在这里插入代码片 ...

Ninquelote的博客 2709

C#:获取网络上的日期、时间

public static string GetNetDateTime() { WebRequest request = null; WebResponse response = null; WebHeaderCollection headerCollection = null; string datetime = string.Empty; try.

鞠勇鸿的技术专栏 3024

c#对操作系统的时间无法更新?

ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏「Bug调优」,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。码字不易,如果这篇文章对你有所帮助,帮忙给bugj菌来个,您的支持就是我坚持写作分享知识点传播技术的最大动力。「猿圈奇妙屋」;

**My Coding Family** 1234

C# 实现获取网络时间

C# Winform获取网络时间直接上图源码 直接上图 工具下载 源码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using S...

Eric 1万+

C# WinForm应用中的微秒级时间戳展示技术

在项目开发过程中,文件结构、配置管理及部署维护是确保项目成功的关键步骤。这一章将详细介绍如何组织项目文件、优化配置以及如何部署和维护项目。

weixin_29717341的博客 1202

C#五种获取网络标准时间_已测可用

C# 获取网络标准时间 正好最近用到这个,小受折磨,于是整理了一下,都是测试过了能够获得网络时间的方法。可以放心取用。

c#获取网络时间并实时更新

1.获取网络时间 using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace WIFI_TCP_test { class GetNetDateTime ...

各安天涯丶 2466

C#获取网络时间

C#获取网络时间,根据百度的返回截取。有的会出现无法与远程服务器建立信任关系,也相应的解决

unity使用C#获取网络时间和本地时间

unity使用C#获取网络时间和本地时间 using System; using System.Collections; using System.Collections.Generic; using System.Net; using UnityEngine.UI; public class UITopBar : MonoBehaviour { private Text textTime; private void Awake() { textTime = tr

now在路上的博客 2055

AURIX™ TC3xx 调试口保护 secure debug

AURIX™ TC3xx 调试口保护 secure debug UCB_DBG_ORIG and UCB_DBG_COPY Content 使用Debug Password 保护调试接口设置 项目硬件接口保护方案 hexview Lock using UDE Unlockusing UDE Lock using Lauterbach Unlock using Lauterbach

2301_76563067的博客 6857

RK3588s Camera ISP调优详解(一)ISP调试工具及环境配置(附下载途径)

本文主要介绍了rkisp tuner工具的连接与使用,并附上了工具及依赖库的下载地址

zongheng_raobo的博客 6271

C# 时间更新器

C# 时间更新器 private void button1_Click(object sender, EventArgs e) { //DateTime dt1 = new DateTime(1594363972686); DateTime dt = this.GetTaoBaoTimeAPI(); bool falg = UpdateTime.SetDate(dt); }

wpyok168的博客 308

Mplus—验证性因素分析(Confirmatory Factor Analysis, CFA)

介绍一阶和二阶验证性因素分析概况及在Mplus中的操作方法。

m0_54401011的博客 1万+

c 如何获取计算机的时间,c# 获取北京时间更新本地计算机

class UpdateDateTime{[DllImport("Kernel32.dll")]private static extern void SetLocalTime([In, Out] SystemTime st);public static void UpdateTime(){Uri uri = new Uri("http://www.beijing-time.org/time15...

weixin_32353247的博客 879

基于pytest+Allure+Python+CANoe的汽车诊断自动化测试框架搭建实战

自动化测试是提升软件质量和研发效率的关键技术,其核心原理是通过脚本模拟人工操作,实现测试用例的自动执行与结果验证。在汽车电子领域,诊断服务测试是确保车辆ECU(电子控制单元)功能正常的重要环节,传统手动测试在面对海量用例和频繁回归时效率低下。本文聚焦于如何利用Python的pytest测试框架、Allure报告工具以及Excel数据驱动,构建一个与Vector CANoe仿真测试环境深度集成的自动化测试解决方案。该方案通过Python调用CANoe的COM接口,实现了诊断报文的自动发送与响应验证,并结合Al

weixin_30384217的博客 677

SRT公网点对点传输及搭建SRT流媒体服务器

SRT是一种开源传输技术,它是基于UDP协议的,与RTMP不同的是,它具有高码率低延迟的传输特性,加强了在复杂不稳定网络环境中的传输可靠性,提升了不可预测的网络环境上的流传输性能。它不像NDI那样只适用于局域网传输,它更适用于公网环境下的信号传输。 S代表Secure,即安全加密的视频流,R代表Reliable,即具有从数据严重丢包中恢复的可靠性,T代表Transport,即动态适应变化的网络状况。 在音视频数据包传输的过程中,SRT会检测并适应两个传输点之间的实时网络状况,有助于补偿由于网络的拥塞而引起的

罗宇。的媒体技术工作室 1万+

Unity获取网络时间

sing System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class NetWorkTime : MonoBehaviour { public static string netTime; public string monthAndDayAndYear = ""; //月份和日期和年份 // Use this for initiali.

qq_44918736的博客 1222

OCTF2016--piapiapia

知识点: php反序列化长度变化尾部字符串逃逸 目录扫描发现www.zip,下载得到源码 源码有index.php,输入账号密码后会进入profile.php,还有register.php、updata.php、class.php和config.php flag值在config.php中,想办法访问到其内容 通过seay代码审计找到一点线索 看到profile.php中存在任意文件读取漏洞,前面还有反序列化 现在我们有个大体思路了,update.php中有一个$prof..

Oavinci的博客 474

Unity 基于NTP服务器获取网络时间

当我们需要准确的时间信息时,依赖于本地系统时间可能会带来不准确的结果,特别是在需要确保时间的一致性和精确性的应用中。为了解决这个问题,我们可以通过网络时间协议(NTP)服务器来获取网络时间,从而获得更准确的时间信息。本篇博客将介绍如何在Unity中使用C#编写代码来从NTP服务器获取网络时间。

我是一个热爱游戏开发的Unity程序员,专注于使用Unity引擎创建创新和高效的游戏项目。在我的博客中,我分享Unity开发中的实用技巧、解决方案和优化方法,涵盖从基础入门到高级技术的各个方面。我喜欢探索新技术,持续学习,并与大家一起成长。希望我的分享能帮 827

【老生谈算法】可视化通道流中瞬时涡量场的算法实现与MATLAB源码分析——瞬时涡量场

本文旨在探讨可视化通道流中瞬时涡量场的方法,并通过MATLAB编程实现这一过程。涡量场作为描述流体旋涡强度和方向的重要物理量,对于理解复杂流体运动具有重要意义。本文首先介绍了涡量场的基本概念,随后详细阐述了从测量数据收集到涡量场可视化的完整流程,并给出了相应的MATLAB源码。通过实际运行该源码,我们展示了涡量场的可视化结果,并讨论了其在流动结构识别和动力学行为理解中的应用。关键词: 涡量场;流体运动;MATLAB;可视化;PIV一、引言。

m0_53407570的博客 1125

YOLOv8推理程序

YOLOv8单独推理,有时候我们自定义的模块算子无法正常转换为其他框架,而且需要做成应用,因此需要一个单独推理的程序,返回的是识别后的照片还有各个类别及其对应数量。文章最后给出Flask封装为Server以及调用的实例还有Client请求代码,支持几十路多线程并发,只需加载一次模型,后边推理即可。

AIOT魔法师 698

C#同步网络时间

客户的机器的系统时间经常出错,导致给他们做的软件无法正常使用,所以后来就加了一个同步网络时间的小功能。实现起来很简单,但是却很使用。 这个小功能就是先获取网络时间,然后将系统的时间修改成从网络获得的时间。下面是具体的实现: 获取网络时间: using System; using System.Collections.Generic; using System.Linq;

小猪的专栏 566

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

C#同步网络时间和本地时间

C#同步网络时间和本地时间 更多0 网络时间 时间同步 C# 这个小功能就是先获取网络时间,然后将系统的时间修改成从网络获得的时间。下面是具体的实现: 获取网络时间:  using System; using System.Collections.Generi

xtfgha的专栏 1742

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

c#将电脑时间同步到网络时间

最近遇到个项目,需要控制软件使用时间,由于电脑不联网可以修改时间,故需要联网使电脑同步网络时间 网上寻找了很多解决方案,代码如下: //Forproc_Win32.cs//对常用Win32 API函数及结构的声明using System;using System.Runtime.InteropServices;namespace Farproc.Win32{ /// <...

weixin_30691871的博客 685

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

上一篇: C#的SNTP客户端取SNTP时间服务器代码
下一篇: 经调试通过的C# Win200关机代码
limit
博客等级 码龄25年 1粉丝 13原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值