标签: jodatime

没有":"的时区的java日期模式

我将使用第三方API.他们接受日期模式,如:

2012-02-15T17:34:37.937-0600
Run Code Online (Sandbox Code Playgroud)

我知道模式应该匹配

yyyy-MM-ddTHH:mm:ss.s
Run Code Online (Sandbox Code Playgroud)

但我不知道如何代表最后一个"-0600"时区?我认为标准时区是"-06:00",任何人都知道如何摆脱日期模式中的":"?

谢谢.

java datetime jodatime date-parsing

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

从java.sql.Timestamp到joda的LocalDate的意外转换

我在将Timestamp对象转换为joda的LocalTime时遇到问题.

见下面的例子:

public static void main(String[] args) {

    Timestamp t = Timestamp.valueOf("1111-11-11 00:00:00");
    System.out.println(t); //-- prints '1111-11-11 00:00:00.0'
    System.out.println(new LocalDate(t)); //-- prints '1111-11-17'

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(t);
    System.out.println(LocalDate.fromCalendarFields(calendar)); //-- prints '1111-11-11'
}
Run Code Online (Sandbox Code Playgroud)

我无法确定为什么'new LocalDate(t)'会导致'1111-11-17'.任何人都可以帮助我吗?

我在使用joda-time-hibernate填充我的bean类型为LocalDate的属性时注意到这个"问题".

java calendar jodatime

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

验证Java中的时区并抛出异常

joda.time中是否有任何函数验证字符串是否表示正确的时区,如果格式不正确则抛出异常?

我知道TimeZone.getAvalibaleIDs(),但只是想知道是否有任何预定义的功能.

java timezone jodatime

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

joda-time-2.2将LocalDateTime转换为java.sql.Timestamp

我需要一个java.sql.Timestamp但是当我尝试从LocalDateTime转换时,它失败了,因为当输入字符串转换为LocalDateTime时,添加了字母"T",如2013-03-15T00:00:00.000.有任何想法吗?或者有更好的方法将字符串转换为时间戳吗?我只想使用joda,以防将来需要操作时间.

谢谢.

java timestamp jodatime

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

Joda DateTime hibernate映射弹簧形式

我正在尝试将DateTime对象映射到TimeStamp SQL列.

import org.springframework.format.annotation.DateTimeFormat;
...

    @Column
    @Type(type="org.joda.time.contrib.hibernate.PersistentDateTime")
    @DateTimeFormat(style="SS")
    private DateTime dateSmoked;
Run Code Online (Sandbox Code Playgroud)

我正在使用Spring表单标签让用户根据@DateTimeFormat(style ="SS")输入"mm/dd/YYYY HR:MIN AM/PM"类型的日期输入.我已经导入了joda-time-hibernate包和所有其他必需的包

当我提交表单时,我收到以下错误:org.joda.time.contrib.hibernate.PersistentDateTime.nullSafeSet(Ljava/sql/PreparedStatement; Ljava/lang/Object; ILorg/hibernate/engine/spi/SessionImplementor;)V

很清楚我做错了什么.有人能指出我正确的方向吗?

sql spring datetime hibernate jodatime

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

Joda时间在日期调整时更改UTC偏移

这段代码:

DateTime n1 = DateTime.now(DateTimeZone.forID("America/Chicago"));
System.out.println(n1);
DateTime n2 = n1.withHourOfDay(0).withMinuteOfHour(0).withSecondOfMinute(0).withMillisOfSecond(0);
System.out.println(n2);
Run Code Online (Sandbox Code Playgroud)

结果输出:

2014-11-02T15:03:16.387-06:00
2014-11-02T00:00:00.000-05:00
Run Code Online (Sandbox Code Playgroud)

为什么UTC的偏移会根据此分配而改变?

java jodatime

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

Joda - "hh:mm AM"在"AM"时格格不入

我使用的乔达库格式化字符串喜欢hh:mm am/pmLocalTime我的Android应用程序,所以我用这个:

  DateTimeFormat.forPattern("hh:mm a").parseLocalTime("6:30 AM");
Run Code Online (Sandbox Code Playgroud)

它工作正常,但当我改变我的手机语言(德国或西班牙语)时,它会抛出这个例外:

W/System.err? java.lang.IllegalArgumentException: Invalid format: "06:30 AM" is malformed at "AM"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java android jodatime

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

JodaTime IllegalArgumentException:格式无效

此代码引发“无效格式”或“格式错误”异常:

码:

strDate = "21/10/2015 12:00:00 AM";
format = "dd/MM/yyyy hh:mm:ss a";

DateTime.parse(strDate, DateTimeFormat.forPattern(format)).toDate();
Run Code Online (Sandbox Code Playgroud)

例外:

java.lang.IllegalArgumentException: Invalid format: "21/10/2015 12:00:00 AM"
is malformed at "AM"
Run Code Online (Sandbox Code Playgroud)

怎么了?

我正在使用Joda-Time:2.8.1

(我已经搜索过,并且我认为这是该strDate的正确模式)

java format exception jodatime

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

在java中将"mm/yy"转换为"yyyy-mm-dd"

我需要将"11/17"字符串日期(2017年11月)转换为"2017-11-01"(2017年11月1日).

在Java中实现这一目标的最佳方法是什么?

我试过了:

String dayMonthYear = "11/17";
dayMonthYear = "01/" + dayMonthYear;

DateTimeFormatter formatter = DateTimeFormat.forPattern("dd/MM/yy");
DateTime dt = formatter.parseDateTime(dayMonthYear);
dt.year().setCopy(dt.getYear() + 2000);

DateTimeFormatter dtfOut = DateTimeFormat.forPattern("yyyy-MM-dd");
dayMonthYear = dtfOut.print(dt);
System.out.println(dayMonthYear); // "2017-11-01";
Run Code Online (Sandbox Code Playgroud)

和:

SimpleDateFormat dateFormatTwoDigitsYear = new SimpleDateFormat(TWO_DIGITS_YEAR_DATE_FORMAT);  //"dd/MM/yy"
SimpleDateFormat dateFormatFourDigitsYear = new SimpleDateFormat(FOUR_DIGITS_YEAR_DATE_FORMAT);//  "yyyy-MM-dd"
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.YEAR, -100);//??? I AM NOT SURE WHY DO I NEEED THIS??
dateFormatTwoDigitsYear.set2DigitYearStart(calendar.getTime());
try
{
    dayMonthYear = dateFormatFourDigitsYear.format(dateFormatTwoDigitsYear.parse(dayMonthYear));
}
catch (ParseException e)
{
    log.error("Error while formatting date …
Run Code Online (Sandbox Code Playgroud)

java date jodatime date-parsing simpledateformat

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

在Java中将字符串日期转换为ISO日期格式“ 2019-07-01T03:50:00.000Z”

如何将Mon Jul 01 08:00:00 IST 2019字符串类型的日期“ ” 转换为ISODate“ 2019-07-01T03:00:00.000Z”?

java time spring datetime jodatime

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