`

在C#中获取如PHP函数time()一样的时间戳

    博客分类:
  • PHP
 
阅读更多

c#中没有象PHP一样的time()时间戳函数,但有DateTime.Now.Ticks用来计算时间差。

此属性的值为自 0001 年 1 月 1 日午夜 12:00 以来所经过时间以 100 毫微秒为间隔表示时的数字。
dotnet下用DateTime.Now.Ticks能够得到精确的时间,单位是10^-7s。

经过实验,发现

  1. long a=(DateTime.Now.Ticks-aa.Ticks)/10000000-8*60*60;  
  2. tbxUrl.Text=a.ToString();  

 

要减去8*60*60才和time()函数得到的值一样。
什么问题?刚好是8个时区产生的差别。

  1. DateTime aa=new DateTime(1970,1,1);  
  2. MessageBox.Show("1970  "+aa.Ticks.ToString()+"now"+DateTime.Now.Ticks.ToString());  
  3. long a=(DateTime.Now.Ticks-aa.Ticks)/10000000-8*60*60;  
  4. tbxUrl.Text=a.ToString();  

 

同时发现c#里面DataTime有一个属性!DateTime.UtcNow已经考虑了时区问题。

ok~ 使用下面的代码即可

  1. DateTime timeStamp=new DateTime(1970,1,1);  //得到1970年的时间戳  
  2. long a=(DateTime.UtcNow.Ticks-timeStamp.Ticks)/10000000;  //注意这里有时区问题,用now就要减掉8个小时  

 

UNIX时间戳 与 时间格式互相转换

  1. /// <summary>  
  2. /// 将Unix时间戳格式转换为c# DateTime时间格式  
  3. /// </summary>  
  4. /// <param name="timeStamp">时间戳</param>  
  5. /// <returns>DateTime </returns>  
  6. public DateTime GetTime(string timeStamp)  
  7. {  
  8.      DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));  
  9.      long lTime = long.Parse(timeStamp + "0000000");  
  10.      TimeSpan toNow = new TimeSpan(lTime);  
  11.      return dtStart.Add(toNow);  
  12. }  

  1. /// <summary>  
  2. /// 将c# DateTime时间格式转换为Unix时间戳格式  
  3. /// </summary>  
  4. /// <param name="time">时间</param>  
  5. /// <returns>double</returns>  
  6. public int ConvertDateTimeInt(System.DateTime time)  
  7. {  
  8.      int intResult = 0;  
  9.      System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));  
  10.      intResult = (int)(time - startTime).TotalSeconds;  
  11.      return intResult;  
  12. }  
分享到:
评论

相关推荐

    各种语言获取Unix时间戳的方法

    Python中使用`time`模块的`time()`函数获取Unix时间戳。 ```python import time unixTimestamp = int(time.time()) print("Unix Timestamp:", unixTimestamp) ``` #### Ruby Ruby中可以使用`Time.now.to_i`或`...

    时间戳、装换时间的方法

    对于那些没有内置时间戳处理功能的操作系统,可以借助外部工具,如Perl的 `time` 函数,它可以在大多数操作系统上运行。 总之,时间戳的转换在不同的编程语言和数据库中都需要进行相应的计算和函数调用。理解这些...

    各种语言时间戳转换方法.docx

    Perl 中可以使用 `time()` 函数获取 Unix 时间戳,该函数返回当前时间的秒数。要将 Unix 时间戳转换为普通时间,可以使用 `localtime()` 函数。 ```perl my $unixTimestamp = time(); my ($sec, $min, $hour, $day,...

    C#中系统时间和UNIX时间戳互相转换

    在C#编程中,系统时间和UNIX时间戳之间的转换是常见的操作,特别是在与使用UNIX时间戳作为时间标准的其他系统(如PHP)进行交互时。UNIX时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不包括闰秒。下面...

    字符串和时间戳相互转换

    例如,C#中的`DateTime.TryParse`和`DateTimeOffset.FromUnixTimeSeconds`,PHP的`strtotime`和`date`,Ruby的`Time.parse`和`to_i`等。 理解这些转换方法对于开发涉及日期和时间的程序至关重要,无论是记录日志、...

    获取现在的时间

    在不同的编程语言中,都有内置的库或者函数来帮助开发者轻松地获取系统当前的时间。本文将详细讲解如何在不同环境下获取“现在的时间”。 1. **Python中的时间获取** Python提供了`datetime`模块来处理日期和时间...

    日期函数.rar

    在编程和数据分析中,日期函数扮演着至关重要的角色。它们帮助我们处理与日期和时间相关的各种操作,如计算两个日期之间的差值、格式化日期显示、获取特定日期的星期几等。"日期函数.rar"这个压缩包很可能包含了关于...

    如何获取系统日期时间

    在编程领域,获取系统日期和时间是一项基本操作,无论是在Windows、Linux还是Mac OS等操作系统中,都有多种方法可以实现这一功能。系统日期和时间的获取对于开发各种应用程序,如日志记录、计时器、任务调度等都至关...

    计算机软件-编程源码- 获取文件属性.zip

    了解如何在不同编程语言中获取文件属性是软件开发的基础,这有助于我们更好地管理文件系统,实现各种文件操作,如备份、同步、权限控制等。在实际应用中,我们还需要考虑错误处理、跨平台兼容性以及性能优化等问题。

    实例017——获取当前的日期、时间并格式化输出.zip

    在不同的语言中,方法和库可能有所不同,但目标都是为了获取系统当前的时间戳,并根据需求将其转换为可读性强的格式。 1. **Python**: 在Python中,我们可以使用内置的`datetime`模块来获取当前日期和时间。`...

    获取日期时间

    在 Java 中,我们可以使用 `java.time` 包中的 `LocalDateTime` 类来获取当前日期时间。格式化则通过 `DateTimeFormatter` 实现: ```java import java.time.LocalDateTime; import java.time.format....

    获取当前月日期

    在编程领域,获取当前月日期是一项常见的任务,尤其在数据处理、日志记录或报表生成等场景中。这里,我们将详细探讨如何在不同的编程语言中实现这个功能。 1. **Python**: 在Python中,我们可以使用内置的`...

    返回系统时间.rar

    - **Go**:在Go语言中,`time`包提供了`time.Now()`函数来获取当前时间。 4. **Web开发框架**: - **PHP**:PHP的`date()`函数可以获取系统时间,例如`date('Y-m-d H:i:s')`返回当前的日期和时间。 - **Node.js*...

    java和C#和PHP和各种数据库优缺点.docx

    3. 执行效率:C#编译成中间语言(IL),并通过JIT(Just-In-Time)编译器优化,提供高效性能。 4. 开放性:C#是.NET Framework的一部分,具有丰富的库支持,并且与Visual Studio集成,开发环境强大。 5. 面向对象...

    php8.0课件.rar

    在PHP 8.0中,你可以对函数进行引用,就像对变量进行引用一样,这在需要传递函数作为参数或返回函数的情况下非常有用。 ### 10. 嵌套的开关-case语句 PHP 8.0允许在switch-case语句中嵌套另一个switch-case,这样...

    计算机软件-商业源码-59 得到当前的日期和时间.zip

    在Java中,我们可以使用`java.util.Date`类或`java.time`包(自Java 8引入)来获取当前日期和时间。例如: ```java import java.util.Date; import java.time.LocalDateTime; // 使用旧API Date now = new ...

    获取当前时间农历················

    在Java中,可以使用`java.time.chrono.ChineseCalendar`类来获取农历日期。这个类是Java 8引入的,专门用于处理中国农历。首先,我们需要创建一个`ChineseCalendar`实例,然后调用其`get(ZonedDateTimeField)`方法,...

    大富翁论坛 如 读取文件日期

    大富翁论坛中提及的`FileGetDate()`函数是一个示例,用于获取文件的创建、修改或访问日期。尽管这个函数可能特指某个特定的编程环境或语言,但通常情况下,读取文件日期的操作可以在多种编程语言中实现。以下将详细...

    和PHP、C#通用DELPHI DES 编码 解码 单元

    {* DELPHI、PHP、C#通用DES编码解码单元 *} {* 由TurboPower LockBox部分代码改写 *} {* 滕州市东鸣软件工作室制作 ZWF 2011-12-27 *} {*********************************************************} {EncryDes为...

    PHP8.0.3参考手册.zip

    另外,PHP8.0.3中的**特性(Attributes)**是元数据的新表示方式,类似于Java或C#的注解。它们可以用于向编译器或解析器提供有关类、方法、属性等的信息,如路由、缓存配置等。例如,`#[Attribute]`可以用来标记一个...

Global site tag (gtag.js) - Google Analytics