Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Date parsing error #47

Open
VictorPuga opened this issue Feb 17, 2021 · 6 comments
Open

Date parsing error #47

VictorPuga opened this issue Feb 17, 2021 · 6 comments

Comments

@VictorPuga
Copy link

I am trying to generate a wallpaper using the "filename" "time" option, but when the JSONDecoder reads: "2021-02-17T13:00:00Z", I am getting the error: Date string does not match format expected by formatter. However, if the same date is 12 instead of 13 ("2021-02-17T12:00:00Z"), there is no problem.

@VictorPuga
Copy link
Author

Im using v1.7.1

@mczachurski
Copy link
Owner

Unfortunately I cannot reproduce that bug. I'm using below JSON and everything is working. Can you provide more information (full log, swift version, os version etc.)?

[
    {
        "fileName": "1.png",
        "isPrimary": true,
        "time": "2021-02-17T04:00:00Z"
    },
    {
        "fileName": "2.png",
        "time": "2021-02-17T05:00:00Z"
    },
    {
        "fileName": "3.png",
        "time": "2021-02-17T06:00:00Z"
    },
    {
        "fileName": "4.png",
        "time": "2021-02-17T07:00:00Z"
    },
    {
        "fileName": "5.png",
        "time": "2021-02-17T08:00:00Z"
    },
    {
        "fileName": "6.png",
        "time": "2021-02-17T10:00:00Z"
    },
    {
        "fileName": "7.png",
        "time": "2021-02-17T12:00:00Z"
    },
    {
        "fileName": "8.png",
        "time": "2021-02-17T13:00:00Z"
    },
    {
        "fileName": "8.png",
        "time": "2021-02-17T15:00:00Z"
    },
    {
        "fileName": "9.png",
        "time": "2021-02-17T16:00:00Z"
    },
    {
        "fileName": "10.png",
        "time": "2021-02-17T17:00:00Z"
    },
    {
        "fileName": "11.png",
        "time": "2021-02-17T18:00:00Z"
    },
    {
        "fileName": "12.png",
        "time": "2021-02-17T19:00:00Z"
    },
    {
        "fileName": "13.png",
        "time": "2021-02-17T20:00:00Z"
    },
    {
        "fileName": "14.png",
        "time": "2021-02-17T21:00:00Z"
    },
    {
        "fileName": "15.png",
        "time": "2021-02-17T22:00:00Z"
    },
    {
        "fileName": "16.png",
        "time": "2021-02-17T23:00:00Z"
    }
]

@VictorPuga
Copy link
Author

Same issue with the JSON above. I will try to provide some information

  • OS: macOS 11.2.1 (M1 Mac)
  • Instalation: Homebrew
  • wallpapper version: 1.7.1
  • swiftc version: Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28) Target: arm64-apple-darwin20.3.0
  • Log:
Reading JSON file: 'file:///Users/(...)/sample.json'...OK.
Decoding JSON file...Error: Unexpected error occurs: 
dataCorrupted(Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 7", intValue: 7), 
CodingKeys(stringValue: "time", intValue: nil)], debugDescription: "Date string does not match format 
expected by formatter.", underlyingError: nil))
  • JSON file: example from above

@y-neck
Copy link

y-neck commented Jul 23, 2021

I have got exactly the same problem (same error log).

@eduarbo
Copy link

eduarbo commented Oct 12, 2021

I had the same issue, apparently the parser breaks when you set the time format to 12-Hour in System Preferences. As a workaround try enabling the 24-Hour format temporarily while running the command.

Screen Shot 2021-10-11 at 8 04 46 p m

@patrickhoette
Copy link

I solved this issue by changing line 40 of Program.swift to:

formatter.dateFormat = "hh:mm a"

and then used the following in my JSON:

[
    {
        "fileName": "light.jpg",
        "isPrimary": true,
        "isForLight": true,
        "time": "08:30 AM"
    },
    {
        "fileName": "dark.jpg",
        "isForDark": true,
        "time": "06:00 PM"
    }
]

This doesn't fundamentally fix the issue though, this just made it work with 12h formatted time. In case anyone is interested in a more permanent fix to the issue. This will mean making the change yourself and compiling the code but thats simple enough. Instructions are in the readme.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants