ajax 请求发送 WCF 格式的日期值?它是一个转换为字符串的 JavaScript 日期对象,WCF 可以使用 DataContractSerializer 进行反序列化。
"/Date(1342210377000)/"
Run Code Online (Sandbox Code Playgroud)
客户端过去将此数据发送到 WCF 服务,但现在将其发送到 asp.net mvc 控制器。有谁知道如何将该字符串反序列化为 ac# DateTime 而不执行一系列 string.replace 操作?是否有我可以利用的现有 .NET 序列化器?我研究过使用 DataContractSerializer,但它的 readobject 方法需要一个流或 xmlreader。我无法弄清楚如何将 modelbindercontext.valueprovider 值转换为序列化器可以使用的流对象。如果有人知道我如何正确转换该字符串,我很想学习如何转换。感谢您提供任何提示、技巧、代码、链接等...
我有一个 mysql 触发器,当另一个表中有插入时,它会更新表。我的问题是,如何将当前日期转换为 bigint 值,因为它是需要更新的 bigint 值。这是更新声明
更新时钟 SET last_clock_upload = NOW() WHERE Clock_id = NEW.clock_id
如何将 NOW() 更改为 bigint?
我得到了一些奇怪的结果:
Console.WriteLine(new DateTime(1296346155).ToString());
Run Code Online (Sandbox Code Playgroud)
结果是:
01.01.0001 0:02:09
但这不对!
我从某个文件中解析了值1296346155.它说它是UTC;
请解释;)
谢谢你的帮助!)))
我有一个整数15791
表示自纪元以来的天数和等于27.03.2013,如何在C#中进行转换?
public void method1()
{
...
int days_since_epoch = 15791;
// how convert `days_since_epoch` to "27.03.2013"
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
这是我从JSON获得的日期:
"created_time": "1383734307"
Run Code Online (Sandbox Code Playgroud)
所以我的代码是:
var myData = DateTime.ParseExact((string)item.created_time, "ddd MMM dd HH:mm:ss zzzz yyyy", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
但我明白了 String was not recognized as a valid DateTime.
我以时间戳格式获取时间和日期。例如,对于 4/3/2018 3:06:03 AM 的日期和时间,我得到时间戳值 43193.12920166。我想将其转换为yyyyMMddHHmmss
.
我想在内存中存储时间戳(数十亿个值)。主要操作是读到内存和从内存中读取,不需要 DateTime 特定的方法。为了与其他服务兼容,我想以秒为单位使用 unix 时间戳格式(以避免转换)。
所以,我想使用特殊的数据类型,而不仅仅是long
在我的代码中。
我发现我不能为简单的数据类型(如 )“制作别名” long
,我可以在程序集之外完全使用它。
因此,我想将 Timestamp 实现为具有单个long
字段和一些方法(例如,ToDateTime、某些运算符重载等)的结构,因为结构是“非引用数据类型”并且它们保留了我的记忆。
制作结构是个坏主意吗?
任何使代码成为强类型的替代方法,重新定义Method (long, long)
为Method (Timestamp, StepCount)
我正在尝试解析一个文件,该文件具有一个我认为长度为8个字节的时间戳,在十六进制中看起来像这样
00 00 00 00 DE A4 4F 4F
当我将其解析为Int64时,我没有收到正确的日期/时间.但是,如果我跳过前4个字节并执行类似的操作,我会得到正确的日期时间.
TimeSpan span = TimeSpan.FromTicks(BitConverter.ToInt32(bytes.Skip(index).Take(8).ToArray(),4) * TimeSpan.TicksPerSecond);
DateTime t = new DateTime(1970, 1, 1).Add(span);
StartTime = TimeZone.CurrentTimeZone.ToLocalTime(t);
Run Code Online (Sandbox Code Playgroud)
但是我不确定我要解析的下一个文件是否会有前4个字节的前导00.如果我将其解析为ToInt64,我会抛出一个outOfRange异常.解析这个的正确方法是什么?
我再次来找你,因为我搜索了所有堆栈,并且发现了一些类似的主题,无论如何没有人在处理我的情况。我请求你在一件事上支持我。我有这个代码:
static class UnixTime {
private static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
private static readonly long MaxUnixSeconds = (long)((DateTime.MaxValue - UnixEpoch).TotalSeconds);
private const double LongAdj = 1000.0;
public static DateTime ToDateTime(long unixTimeStamp) { return UnixEpoch.AddSeconds(unixTimeStamp / LongAdj); }
public static long FromDateTime(DateTime date) { return (long)((date - UnixEpoch).TotalSeconds * LongAdj); }
public static void Test(long n) {
System.Diagnostics.Debug.WriteLine("UNIX Time = " + n);
var dt = ToDateTime(n);
System.Diagnostics.Debug.WriteLine("DateTime = " + dt); …
Run Code Online (Sandbox Code Playgroud) 我有一个C#应用程序将一些数据写入SQLite数据库,当我尝试将C#double存储到SQLite REAL字段时出现问题.
它用逗号作为小数分隔符将它保存到数据库中(像我国一样,不确定它是否有用).
该表具有以下结构:
CREATE TABLE `valoresStock` (
`Fecha` TEXT,
`IdArticulo` TEXT,
`IdColor` INTEGER,
`KgPorUnidad` REAL,
`Stock` REAL,
`CostePorKg` REAL,
`CostePorUnidad` REAL,
PRIMARY KEY(Fecha,IdArticulo,IdColor)
);
Run Code Online (Sandbox Code Playgroud)
我在我的应用程序中使用的查询如下:
cmd.CommandText = "INSERT INTO valoresStock (Fecha, IdArticulo, IdColor, KgPorUnidad, Stock, CostePorKg, costePorUnidad) VALUES ('" + DateTime.Today + "','" + referencia.idArticulo + "', '" + referencia.idColor + "', '" + referencia.kilos + "', '" + referencia.stockActual + "', '" + referencia.valorPorKg + "', '" + referencia.valorPorUnidad + "') ";
Run Code Online (Sandbox Code Playgroud)
正如我所说,最后四个字段是double类型.没有错误.
然后数据存储如下:
也就是说,当它没有小数部分时使用点,而当它没有时使用逗号.
这个问题是例如当我使用SELECT语句来计算时,例如: …
我有像"1536476400000"的json字符串,我使用C#转换为"yyyy-MM-dd"格式.请帮我
我想将纪元转换为人类可读的日期,反之亦然。
我想用C#写一些类似链接的东西。
将 Firefox 中的 place.sqlite 文件中的日期转换为 DateTime。
static void Main(string[] args)
{
//1540787809621000
string epoch = "1540787809621000";
}
private string epoch2string(int epoch) {
return
new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)
.AddSeconds(epoch)
.ToShortDateString();
}
Run Code Online (Sandbox Code Playgroud)
int size 不够 我尝试了很长的纪元但不起作用