Kon*_*nos 100 c# timestamp compact-framework time-precision database-agnostic
我想知道,有没有办法在日期时间在c#中创建时间戳?我需要一个毫秒精度值,它也可以在Compact Framework中工作(说因为CF中不存在DateTime.ToBinary()).
我的问题是我想以数据库无关的方式存储这个值,所以我可以稍后对其进行排序,并找出哪个值来自另一个等等.
Rob*_*obV 203
我总是使用以下内容:
public static String GetTimestamp(this DateTime value)
{
return value.ToString("yyyyMMddHHmmssfff");
}
Run Code Online (Sandbox Code Playgroud)
这将为您提供一个类似200905211035131468的字符串,因为字符串从时间戳的最高位到最低位简单字符串排序在SQL查询中可用于按日期排序,如果您在数据库中保留值
Vox*_*xel 41
我相信您可以使用以下内容创建精确到秒的unix样式日期戳
//Find unix timestamp (seconds since 01/01/1970)
long ticks = DateTime.UtcNow.Ticks - DateTime.Parse("01/01/1970 00:00:00").Ticks;
ticks /= 10000000; //Convert windows ticks to seconds
timestamp = ticks.ToString();
Run Code Online (Sandbox Code Playgroud)
调整分母可让您选择精确度
Fra*_*uma 19
您可以使用DateTime.Ticks属性,该属性是一个长且通用的可存储属性,也可以在紧凑的框架上增加和使用.请确保您的代码在9999年12月31日之后未使用;)
归档时间: |
|
查看次数: |
257482 次 |
最近记录: |