日期型数据转换成C#长整型数据

C#语言还是比较常见的东西,这里我们主要介绍日期型数据转换成C#长整型数据,包 括介绍DateTime 的构造函数等方面。

为什么要将日期型数据转换成C#长整型数据呢?原因很多,但就我个人来说,经常将 它用于数据库的日期存储。由于各种数据库对日期型的定义和处理是不一样的,各种语言 对日期型数据的定义的处理也各不相同,因为,我宁愿将日期型数据转换成长整型数据再 保存到数据库中。虽然也可以使用字符串来保存,但使用字符串也会涉及到许多问题,如 区域等问题,而且,它需要比保存C#长整型数据更多的空间。

日期型数据,在 C# 中的参与运算的时候,应该也是转换为长整型数据来运算的。它 的长整型值是自 0001 年 1 月 1 日午夜 12:00 以来所经过时间以 100 毫微秒为间隔表 示时的数字。这个数在 C# 的 DateTime 中被称为 Ticks(刻度)。DateTime 类型有一个 名为 Ticks 的长整型只读属性,就保存着这个值。如此,要从一个 DataTime 型数据得 到 long 型值就非常简单了,只需要读出 DataTime 对象的 Ticks 值即可,如:

long longDate = DateTime.Now.Ticks; 

DateTime 的构造函数中也提供了相应的,从长整型数据构造 DateTime 型数据的函数 :DateTime(long)。如:

DateTime theDate = new DateTime(longDate);

但这样对于很多 VB6 程序员来说,是给他们出了一道难题,因为 VB6 中的日期型数 据内部是以 Double 型表示的,将其转换为长整型后得到的仅仅是日期,而没有时间。如 何协调这两种日期类型呢?

System.DateTime 提供了 double ToOADate() 和 static DateTime FromOADate (double) 两个函数来解决这个问题。前者将当前对象按原来的 double 值输出,后者则 从一个 double 值获得一个 System.DateTime 对象。举例如下:

private void TestDateTimeLong() {
double doubleDate = DateTime.Now.ToOADate();
DateTime theDate = DateTime.FromOADate(doubleDate);
this.textBox1.Text = "";
this.textBox1.AppendText("Double value of now: " +  doubleDate.ToString() + "\n");
this.textBox1.AppendText("DateTime from double value: " +  theDate.ToString() + "\n");
}

运行结果:

Double value of now: 37494.661541713
DateTime from double value: 2002-8-26 15:52:37

时间: 2024-11-30 21:20:12

日期型数据转换成C#长整型数据的相关文章

C语言无符号长整型的左移运算

问题描述 C语言无符号长整型的左移运算 C语言(VC6.0)的无符号长整型是如何左移的,当左移的位数超过该数值类型的最大位数是怎么样处理的?求大神解答,不甚感激 解决方案 C语言左移运算符是<<,左移赋值运算符是<<= 左移运算根据您机器的位长,如32位.64位机器把long型数据转换成相应的二进制值.unsigned long不会转换为反码. //给您个例子32位机器 unsigned long lValue = 8L; //这时lValue的二进制制编码是00000000000

在64位服务器上,php长整型的表示

php中,对数据类型的转换可直接使用pack来完成,比如表示字符型,短整型.整型.长整型可分别使用参数c.s.i.N来表示,当然这里转换后的数据为二进制数据,是不可读的,为了能正常读取,可直接unpack来将数据从二进制流还愿成可读的字符类型. 以下为各各类型的实际长度. $uid = 1346563572; 长度为10,直接为字符类型来计算 echo strlen($uid); // 10 转换短整型,长度为2,当然这里超过了短整型的值范围,所以高位数据会丢失 echo strlen(pack

ASP转化ip地址为长整型数字

有时候我们会在页面上显示用户的所在地区,这个原理是:先得到用户的IP,然后去查询将IP转换成一个数值,最后去查这个数值所在的范围,来得到用户所在的地方. IP转换成数值的方法: 假设IP是192.168.0.1 192*255*255*255+168*255*255+0*255+1 结果就是要得到的数值. 将ip地址转换为长整型 <%  Function CLngIP(ByVal asNewIP)  Dim lnResults  Dim lnIndex  Dim lnIpAry  lnIpAry

JS长整型精度问题实例分析_javascript技巧

本文实例分析了一个JS长整型精度问题.分享给大家供大家参考.具体分析如下: 问题描述: 后台有一个脚本功能,可编写脚本动态调用Java代码 复制代码 代码如下: importClass(com.ztgame.center.controller.api,P360ApiController);  var roleId = 10214734953631045;  p360ApiController.notice(roleId, 4); 脚本执行成功,但运行结果与设定不一样,此人没有收到邮件 查看日志 

csv-CSV文件导入mysql,长整型报错

问题描述 CSV文件导入mysql,长整型报错 CSV文件的第一列是序号,可能有7-8位长,只一个长整型的数据.用 sqlyog工具导入CSV 文件时,这行序号报错,Incorrect integer value:'1060165' for column 'id' at row 2 解决方案 将CSV文件导入mysqlMysql 导入csv文件mysql导出到csv文件报错 解决方案二: 你的mysql中的id设置的什么类型的? 删掉那一行看看其他行有问题不? 改掉那个值换成100什么的的试试看

将IP地址转换为长整型、将长整型转换为IP地址

ip地址|转换 将IP地址转换为长整型 Converts a string ip address ("192.168.0.1") to a Long number (3232235521). One of the reasons to do this would be to store IP addresses in databases. Numbers greatly reduce the size required to store this information. Inputs

JAVA 长整型转换为IP地址的方法

JAVA 长整型转换为IP地址的方法 代码如下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Long num) { String str = null; Long[] tt = new Long[4]; tt[0] = (num >>> 24) >>> 0; tt[1] = ((num << 8) >>> 24) >>> 0;

JAVA中把长整型转换为IP地址的方法

代码如下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Long num) { String str = null; Long[] tt = new Long[4]; tt[0] = (num >>> 24) >>> 0; tt[1] = ((num << 8) >>> 24) >>> 0; tt[2] = (num <&

java如何把char型数据转换成int型数据(转)

一字符串,String="2324234535":把第i个数取出来时是char型的:char temp=String.charAt(i)如何把char型转换成int型?我需要求个尾数之和,如:123的各位数之和为6. 每个字符取出来,得到char型的1,2,3,4,5:但是求和得到的结果是ASCII码值 处理办法: (1)把char转成字符串, Integer.parseInt(""+'1')或String a = "12345";int d =