标签: datetime-parsing

DateTime.ParseExact根本不工作,为什么?

我试图将以下内容解析StringDateTimec#中的对象:

DateTime.ParseExact("20101108 230125", "yyyyMMdd hhmmss", null)
Run Code Online (Sandbox Code Playgroud)

虽然值看起来正确,但该ParseExact方法只是给我以下内容:

字符串未被识别为有效的DateTime.

任何人都可以告诉我为什么以及如何解析上面的字符串而不必以手动方式进行?不ParseExact应该是为了这种场合吗?

.net c# datetime date-format datetime-parsing

6
推荐指数
1
解决办法
1万
查看次数

解析python中的日期字符串(将字符串转换为日期)

我有一个字符串形式的日期时间字符串:

2011-10-23T08:00:00-07:00
Run Code Online (Sandbox Code Playgroud)

我如何解析此字符串作为日期时间对象.

我做了以下阅读文档:

date = datetime.strptime(data[4],"%Y-%m-%d%Z")
Run Code Online (Sandbox Code Playgroud)

我得到了错误

  ValueError: time data '2011-10-23T08:00:00-07:00' does not match format '%Y-%m-%d%Z'
Run Code Online (Sandbox Code Playgroud)

这很清楚.

但我不知道如何阅读这种格式.

有什么建议.谢谢

编辑:另外,我必须补充,我关心的只是日期部分

python datetime-parsing

6
推荐指数
1
解决办法
1万
查看次数

在java中解析ISO-8601 DateTime

我在java中解析日期时遇到了麻烦,我有一个奇怪的日期时间格式.如何解析2013-04-03T17:04:39.9430000+03:00java中的日期时间以在java中格式化dd.MM.yyyy HH:mm

java datetime datetime-parsing

6
推荐指数
2
解决办法
1万
查看次数

杰克逊-无法使用时区偏移量“在索引23找到未解析的文本”反序列化日期时间

我的日期时间必须来自具有时区偏移量的前端: 2017-07-04T06:00:00.000+01:00

我不能和杰克逊反序列化。错误是:

无法解析文字“ 2017-07-04T06:00:00.000 + 01:00”,未解析的文字位于索引23;

我试图谷歌所有的解决方案都与Z结尾的DateTime。

    @NotNull
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS aZ")
    private LocalDateTime time;
Run Code Online (Sandbox Code Playgroud)

有什么解决办法吗?

java spring datetime jackson datetime-parsing

6
推荐指数
1
解决办法
3494
查看次数

java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME无法解析时区名称

我正在尝试从定义为使用RFC1123兼容日期时间规范的数据源解析时间戳.我的代码是:

value = Instant.from (DateTimeFormatter.RFC_1123_DATE_TIME.parse (textValue));
Run Code Online (Sandbox Code Playgroud)

这适用于某些数据,但我得到包含区域名称的字符串的例外,甚至是RFC2822中定义的字符串(由于它废弃RFC822而间接引用RFC1123).例子:

java.time.format.DateTimeParseException: Text 'Sun, 20 Aug 2017 00:30:00 UT' could not be parsed at index 26
java.time.format.DateTimeParseException: Text 'Mon, 21 Aug 2017 15:00:00 EST' could not be parsed at index 26
Run Code Online (Sandbox Code Playgroud)

我如何说服DateTimeFormatter接受这种类型的约会?

java parsing date datetime-parsing java-time

6
推荐指数
1
解决办法
2197
查看次数

SimpleDateFormat.parse() 忽略时区?

我正在尝试使用此代码来解析带有时区的日期字符串进行测试:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mmZZZZZ", Locale.US);
Calendar calendar = Calendar.getInstance();
calendar.setTime(sdf.parse("2017-07-26T06:00-06:00"));
int offset = calendar.getTimeZone().getRawOffset();
Run Code Online (Sandbox Code Playgroud)

我正在尝试将时区从 更改-06+09,但offset始终包含10800000.

如何正确解析带有时区的日期(我需要时间和时区)?

android simpledateformat datetime-parsing timezone-offset

5
推荐指数
1
解决办法
2841
查看次数

如何从 ISO 8601 格式字符串中选择时区到日历实例中

作为输入,我有一个字符串,它是 ISO 8601 中的字符串,用于表示日期。例如:

“2017-04-04T09:00:00-08:00”

String的最后一部分“-08:00”表示时区偏移。我将此字符串转换为Calendar实例,如下所示:

Calendar calendar = GregorianCalendar.getInstance();
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US).parse(iso8601Date);
calendar.setTime(date);
Run Code Online (Sandbox Code Playgroud)

iso8601日期为“2017-04-04T09:00:00-08:00”

但这不会选择时区,如果我从Calendar实例获取时区,它会给出笔记本电脑当前设置的实例,并且不会从 ISO 8601 字符串中获取时间戳。我通过日历实例检查时区:

calendar.getTimeZone().getDisplayName()
Run Code Online (Sandbox Code Playgroud)

有人可以展示如何在Calendar实例中选择时区吗?

java android date datetime-parsing java.util.calendar

5
推荐指数
1
解决办法
3432
查看次数

如何在 Go 中将 JWT 的到期日期解析为 time.Time()?

我想exp从 JSON 网络令牌 (JWT)解析到期日期 ( ),而无需对其进行验证。我尝试了以下脚本(试图遵循How to parse unix timestamp to time.Time):

package main

import (
    "fmt"
    "log"
    "strconv"
    "time"

    jwt "github.com/dgrijalva/jwt-go"
)

func main() {
    tokenString := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"

    token, _, err := new(jwt.Parser).ParseUnverified(tokenString, jwt.MapClaims{})
    if err != nil {
        log.Fatal(err)
    }

    if claims, ok := token.Claims.(jwt.MapClaims); ok {
        fmt.Println(claims["exp"])
        i, err := strconv.ParseInt(claims["exp"].(string), 10, 64)
        if err != nil {
            log.Fatal(err)
        }

        tm := time.Unix(i, 0)
        fmt.Println(tm)
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

> go run main.go
<nil> …
Run Code Online (Sandbox Code Playgroud)

go datetime-parsing jwt jwt-go

5
推荐指数
1
解决办法
3968
查看次数

如何使用 LocalTime.parse 解析任何格式的时间?

LocalTime我在使用 java解析包含小时、分钟和秒的字符串时遇到问题。

LocalTime t = LocalTime.parse("8:30:17"); // Simplification
Run Code Online (Sandbox Code Playgroud)

这会引发以下异常:

线程“main”中的异常 java.time.format.DateTimeParseException:无法在索引 0 处解析文本“8:30:17”

java time time-format localtime datetime-parsing

5
推荐指数
2
解决办法
1万
查看次数

java.text.ParseException:无法解析的日期:“...”

我使用此代码收到此错误:

SimpleDateFormat sdf = new SimpleDateFormat("EEEE dd MMMM HH:mm yyyy",myDateFormatSymbols);
sdf.parse("????????? 12 ??????? 07:00 2021");
Run Code Online (Sandbox Code Playgroud)

"Monday 12 April 07:00 2021"。问题是,每当我将日期从星期一更改为星期二 ( "????????") 时,我都不会收到此错误,并且代码有效。这是代码myDateFormatSymbols

private final static DateFormatSymbols myDateFormatSymbols = new DateFormatSymbols(){
        @Override
        public String[] getWeekdays(){
             return new String[]{"?????????","????????", "??????", "??????", "???????", "??????", "??????"};
        }
        @Override
        public String[] getMonths() {
            return new String[]{...};
        }
}
Run Code Online (Sandbox Code Playgroud)

所有月份和工作日都正常工作,似乎这个错误只发生在星期一。

java dayofweek simpledateformat datetime-parsing java-time

5
推荐指数
2
解决办法
495
查看次数