doujia9204 2015-07-23 21:38
浏览 75

将json元帅时间转换为nsdate

When I marshall time.Now() to JSON object it gives result as "2009-11-10T23:00:00Z" but printing time.Now gives 2009-11-10 23:00:00 +0000 UTC. Why are they different. What are T and Z. Also how can I convert it to swift NSDate object according to this table?

  • 写回答

1条回答 默认 最新

  • douyangquan2474 2015-07-23 21:56
    关注

    The meaning of those values is irrelevant, they're part of that format (ISO8601). There are a couple approaches to this. One is to define a custom MarshalJSON() method for time or your struct and use it to format the date, the other is to represent it as a string in your struct in the first place so that when the default implementation executes you get the result you're looking for.

    The method you'll ultimately need to use is; time.Format(format string) The golang docs show this example for using it;

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        // layout shows by example how the reference time should be represented.
        const layout = "Jan 2, 2006 at 3:04pm (MST)"
        t := time.Date(2009, time.November, 10, 15, 0, 0, 0, time.Local)
        fmt.Println(t.Format(layout))
        fmt.Println(t.UTC().Format(layout))
    }
    

    The medium date format in that link for example would use the string "Jan. 2, 2006"

    评论

报告相同问题?

悬赏问题

  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输