首页 > 其他分享 >byte[]类型与datetime日期转换

byte[]类型与datetime日期转换

时间:2023-06-10 15:35:28浏览次数:33  
标签:timestampLong Timestamp timestampBytes long DateTime 日期 byte datetime

在C#中,Timestamp通常表示为一个长整型(long)变量。这是因为它表示自1970年1月1日00:00:00 UTC以来的毫秒数。然而,在某些情况下,例如在处理数据库中的Timestamp时,您可能会遇到将Timestamp表示为字节数组(byte[])的情况。

当您使用某些数据库系统(如SQL Server)时,它们可能会使用特定的数据类型来存储Timestamp信息,如SQL Server中的rowversion。该数据类型实际上是一个8字节的二进制值,可以用作数据行的版本控制。在这种情况下,当从数据库查询数据并操作这些值时,您需要处理byte[]类型的变量,而不是常见的longDateTime

要在C#中操作byte[]类型的Timestamp,您需要根据具体场景执行相应的转换。以下是几种常见的转换方法:

  1. byte[]类型的Timestamp转换为long

    byte[] timestampBytes = new byte[] { 0, 0, 0, 0, 0, 0, 0, 1 }; // 示例字节数组
    long timestampLong = BitConverter.ToInt64(timestampBytes, 0);
    
  2. byte[]类型的Timestamp转换为DateTime

    long timestampLong = BitConverter.ToInt64(timestampBytes, 0);
    DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
    DateTime timestampDateTime = epoch.AddMilliseconds(timestampLong);
    
  3. long类型的Timestamp转换为byte[]

    long timestampLong = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();
    byte[] timestampBytes = BitConverter.GetBytes(timestampLong);
    

请注意,这些示例可能需要根据您的具体需求进行调整。在处理不同数据库或数据类型时,请务必参考相应的文档以确保正确地操作和转换Timestamp值。

标签:timestampLong,Timestamp,timestampBytes,long,DateTime,日期,byte,datetime
From: https://www.cnblogs.com/DinAction/p/17471327.html

相关文章

  • time模块 datetime模块 random模块
    目录time模块datetime模块random模块sys模块os模块time模块和时间有关系的我们就要用到时间模块时间的三种方式:1.时间戳2.结构化时间3.格式化时间格式化时间%y两位数的年份表示(00-99)%Y四位数的年份表示(000-9999)%m月份(01-12)%d月内中的一天(0-31)%H24小时制小......
  • time模块、datetime模块、random模块、sys模块
    time模块(跟时间打交道的模块)表示时间的三种方式:1.时间戳:秒数2.格式化的时间字符串:2023-01-0111:11:113.结构化时间:它一般不是让人看的,让计算机看的#使用时间模块,需要导入time模块importtimepython中时间日期格式化符号:%y两位数的年份表示......
  • keil提取编译日期和时间
     constcharSoftware_Ver[]  ="Software:1.0.0";constcharCompiler_Date[] ="Date:"__DATE__;constcharCompiler_Time[] ="Time:"__TIME__;  #defineYEAR((((__DATE__[7]-'0')*10+(__DATE__[8]-......
  • 字符串转LocalDateTime
    /***yyyy-MM-ddHH:mm:ss转LocalDateTime*@paramexpectStartTime*@return*/publicstaticLocalDateTimestrToLocalDateTime(StringexpectStartTime){returnLocalDateTime.parse(expectStartTime,DateTimeFormatter.ofPattern("yyyy-MM-ddHH:......
  • 010 数据库学习笔记 日期 + 时间 + 星期
    星期获取操作--设置语言,这个很重要,会导致不同的返回结果(只需设置一次语言后,就可以重复调用DATENAME)SETLANGUAGEN'SimplifiedChinese'--简体中文--SETLANGUAGEN'English'--英文--SETLANGUAGEN'Korean'--韩文--获取指定日期为星期几GETDATE()当天日期,GETDATE(......
  • Linux Shell 脚本创建日期文件夹
    mk-time-dir.sh#!/bin/bashdir_name=$(date'+%Y%m%d%H%M')mkdir$dir_nameecho"已创建文件夹${dir_name}"#已创建文件夹202306090936参考:Linuxdate命令......
  • 关于The JSON value could not be converted to System.DateTime的解决方案
    如下json格式提交到后台后报:TheJSONvaluecouldnotbeconvertedtoSystem.DateTime.Path:$.beginTime|LineNumber:3|BytePositionInLine:33.{"beginTime":"2023-06-08T08:00:00"}造成这个错误的原因为程序无法正常解析该json,主要是为了提升执行效率;Sys......
  • JQ插件:日期时间选择器date picker
    这个控件关键是它能支持在mobile中显示。iPhone和android中显示可能略有差别。下图是在android中的显示效果:再看一下用法首先导入JQ和datepicker插件:<linkrel="stylesheet"type="text/css"href="css/picker/default.css"/><linkrel="stylesheet&qu......
  • BLINNET - Bytelandian Blingors Network
    传送门:BLINNET-BytelandianBlingorsNetwork通过读题,不难发现,把这些点连接起来的最小成本,岂不是最小生成树?现在先思考一下给出的城市名字需要如何处理?其实直接按照输入顺序标号就好了!跑一遍最小生成树即可,注意多测清空。处理最小生成树的策略是,把边按照成本从小到大排序,每......
  • C++ 日期 & 时间
     C++标准库没有提供所谓的日期类型。C++继承了C语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在C++程序中引用<ctime>头文件。有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型clock_t、size_t和time_t能够把系统时间......