小编Nei*_*ord的帖子

我可以将 SQLite.swift 的 Codable 功能与枚举一起使用吗?

我尝试使用 SQLite.swift 的Codable功能插入一行,但收到​​以下错误消息:

Swift.EncodingError.Context(codingPath: [], debugDescription: "Top-level 
MyEnum encoded as number JSON fragment.", underlyingError: nil))
Run Code Online (Sandbox Code Playgroud)

我的枚举扩展Int并且Codable

enum MyEnum : Int, Codable {
    case FIRSTVAL = 0, SECONDVAL = 1
}
Run Code Online (Sandbox Code Playgroud)

消耗它的类如下所示:

class MyClass : Codable {        
    static let tableRef = Table("MyTable")

    static let idColumn = Expression<Int>("MyTableId");
    static let nameColumn = Expression<String>("Name")
    static let myEnumValColumn = Expression<Int>("MyEnumVal")

    static func createTable(_ db : Connection) throws {            
        try db.run(tableRef.create(ifNotExists: true) { t in
            t.column(idColumn, primaryKey: true) …
Run Code Online (Sandbox Code Playgroud)

ios swift sqlite.swift

5
推荐指数
0
解决办法
1670
查看次数

从Windows文件时间转换为DateTime

我有一个值的时间戳634876488000000000和预期的日期04th November 2012, 18:00:00.当我转换它时,年份3612而不是2012(日,月和时间都是正确的).

这是一个例子:

Console.WriteLine(DateTime.FromFileTimeUtc(634876488000000000).ToString());
Console.WriteLine(DateTime.FromFileTime(634876488000000000).ToString());
Run Code Online (Sandbox Code Playgroud)

并输出:

04/11/3612 18:00:00
04/11/3612 18:00:00

经过进一步研究,我发现如果我Get-Date 634876488000000000在Powershell中使用,我会得到正确的预期日期04 November 2012 18:00:00.

任何人都可以解释如何使用C#正确地将时间戳转换为.NET DateTime对象吗?

.net c# time datetime

3
推荐指数
1
解决办法
4801
查看次数

标签 统计

.net ×1

c# ×1

datetime ×1

ios ×1

sqlite.swift ×1

swift ×1

time ×1