相关疑难解决方法(0)

如何在Android Project中使用ThreeTenABP

我正在添加这个问题,因为我是Java和Android的新手,我搜索了几个小时试图解决这个问题.答案来自相关答案的组合,所以我想我会记录我为其他可能正在努力的人学到的东西.见答案.

对于一些背景知识,我的经验主要是PHP的Web开发和一点Ruby.我唯一的操作系统是Linux(Ubuntu Studio),我(不情愿地)在Android Studio 2.1.2中开发我的第一个Android应用程序.我的Java设置如下:

>java -version
> openjdk version "1.8.0_91"
> OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~15.10.1-b14)
> OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Run Code Online (Sandbox Code Playgroud)

datetime android android-gradle-plugin threetenbp threetenabp

169
推荐指数
3
解决办法
2万
查看次数

如何将String解析为java.sql.date

我有一个字符串

String s = "01 NOVEMBER 2012";
Run Code Online (Sandbox Code Playgroud)

那我想把它解析为sqlDate,

然后我会将其插入数据库

有可能将该字符串解析为sqlDate吗?!?!

是的,sql日期格式是"yyyy-mm-dd"

java date sql-date-functions

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

如何使用 H2 进行 JUnit 测试来防止日期更改?

对于使用 H2 的 JUnit-Test,我正在保存一个具有 LocalDate 属性和值的实体LocalDate.parse("1900-01-01")。测试失败

    Expected: is <1900-01-01>
    but: was <1899-12-31>
Run Code Online (Sandbox Code Playgroud)

LocalDate 不关心时区,所以我猜更改是在 H2 数据库的保存操作期间进行的。

我已经尝试设置 timezone UTC,因为这应该是 H2 的时区,然后 H2 不应将其移交的日期解释为具有必须转换为 UTC 的另一个时区。但这似乎没有帮助。

    public static void main(final String[] args) {
        TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
        SpringApplication.run(BackendApplication.class, args);
    }
Run Code Online (Sandbox Code Playgroud)

预先感谢您的建议和想法

java timezone spring date h2

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

java.text.ParseException:无法解析的日期:将mm/dd/yyyy字符串转换为日期

当我将我的字符串对象mm/dd/yyyy格式转换为Date它给我

java.text.ParseException: Unparseable date: "09/17/2014"
Run Code Online (Sandbox Code Playgroud)

我想这样做:

String date= "09/17/2014";
DateFormat df = new SimpleDateFormat();
Date journeyDate= (java.sql.Date) df.parse(date);
Run Code Online (Sandbox Code Playgroud)

java date simpledateformat

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

在解析具有大写月份名称的日期时,我得到 java.time.format.DateTimeParseException

我有几行代码,如下所示

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yy");
formatter = formatter.withLocale( Locale.getDefault() );  
LocalDate date = LocalDate.parse("11-NOV-20", formatter);
Run Code Online (Sandbox Code Playgroud)

这给出了以下异常

 Exception in thread "main" java.time.format.DateTimeParseException: Text '11-NOV-20' could not be parsed at index 3
        at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
        at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
        at java.time.LocalDate.parse(LocalDate.java:400)
        at src.DateTimeTest.main(DateTimeTest.java:30)
Run Code Online (Sandbox Code Playgroud)

如果我将月份从11 月更改为11 月,效果很好。我从数据库表中获取这个值。我是否必须以编程方式更改它,或者有什么方法可以处理它?

java-8 java-time datetimeformatter

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

java.sql.SQLException:ORA-01843:无效月份

将数据插入我的oracle数据库时出现以下错误。

java.sql.SQLException: ORA-01843: not a valid month
Run Code Online (Sandbox Code Playgroud)

在数据库中的日期是:dd-MMM-yy(06-MAR-12)
我通过以下方法将2012年6月3日转换为dd-MMM-yy:

String s="06-03-2012";

String finalexampledt = new SimpleDateFormat("dd-MMM-yy").format(new SimpleDateFormat("dd-MM-yyyy").parse(s));
Run Code Online (Sandbox Code Playgroud)

所以我得到了06年3月6日,这与上面的数据库日期格式相同,但我仍然收到错误。我插入为:

在index.jsp中

 String todaydate="";

Calendar calendar1 = Calendar.getInstance();
SimpleDateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy");
todaydate = dateFormat.format(calendar1.getTime());

<input type="text" name="datename" value="<%=todaydate%>"/>
Run Code Online (Sandbox Code Playgroud)

在servlet(doPost)中

String s=request.getParameter("datename");

PreparedStatement ps=con.prepareStatement("insert into tablename(rest_dt, othercolname) values (to_date(?, 'dd-mm-yyyy'), ?)");

ps.setString(1, s);
ps.setString(2, otherstringdata);

int  rs=ps.executeUpdate();
Run Code Online (Sandbox Code Playgroud)

有什么想法吗

java sql oracle date

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

使用Java 8和格式-&gt;'uuuu-MM-dd'将String转换为日期

我想使用Java 8从字符串转换为日期。

我可以轻松地使用SimpleDateFormat和进行yyyy-MM-dd格式转换

   String startDate2="2017-03-24";
   SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
   System.out.println(new java.sql.Date(sdf1.parse(startDate2).getTime()));
Run Code Online (Sandbox Code Playgroud)

输出: 2017-03-24

   String startDate2="2017-03-24";
   SimpleDateFormat sdf1 = new SimpleDateFormat("uuuu-MM-dd");
   System.out.println(new java.sql.Date(sdf1.parse(startDate2).getTime()));
Run Code Online (Sandbox Code Playgroud)

但是当我用'uuuu-MM-dd'代替'yyyy-MM-dd'

输出:( 1970-03-24错误)

现在在Java 8中:

   String startDate1="2017-03-23";
   DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu-MM-dd");
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何获取与上述正确输出相同的sql date类型的日期。

java java-8

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

Localdate.format,格式不适用

我的 FXML 中有一个 DatePicker,我需要将它插入到我的 SQL 数据库中的日期。我想格式化我的日期,但它不起作用。

    LocalDate localDate = purchased_at.getValue();
    localDate.format(DateTimeFormatter.ofPattern("dd.mm.yyyy"));
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误。

Caused by: java.time.temporal.UnsupportedTemporalTypeException: Unsupported field: MinuteOfHour
Run Code Online (Sandbox Code Playgroud)

我还是个初学者。在过去的 3 或 4 个月里,我使用了 Java。我正在努力改进。

java javafx date datepicker fxml

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

为什么 SimpleDateFormat 总是忽略连接的时区?

我在 Java 中遇到 Date 和 SimpleDateFormat 对象的一些问题。我知道我需要在 Java 8 中使用新的日期和时间 API 来切换它们,我想这样做,但我有一个问题。当我从数据库中检索我的日期时(它是 SimpleDateFormat 并且我无法更改它),并且当我想添加一些小时(例如下午 4 点),然后我需要在用户从下拉列表中选择的时区中(假设美国/加拉加斯),所以我希望美国/加拉加斯的结果是 16 小时,但在我的情况下是 16 小时 UTC + UTC 和美国/加拉加斯之间的差异。这是我的代码:

Date startDate -> it's value is Tue Feb 23 20:00:00 CET 2021
Date date = new SimpleDateFormat("yyy-MM-dd").format( startDate + 4:00PM + America/Caracas);
Run Code Online (Sandbox Code Playgroud)

但是,奇怪的是,这种格式化广告 4 PM 值但不知何故忽略了时区的那部分。所以,相反,我在美国/加拉加斯有 20 小时,我在 UTC 时间有 20 小时。有人可以帮助我吗?

java datetime date datetime-format java-8

-2
推荐指数
1
解决办法
102
查看次数