- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题 - 我的应用程序在跨越数百台计算机的生产环境中使用。安装一些新计算机并发现我的应用程序仅在新计算机上崩溃后出现了问题。新计算机配备了 JAVA v8u5,为了解决这个问题,我还安装了 v7u55(我认为这可能是版本控制问题)。注意* 我正在使用 JDK v7u45 进行编译 **
根本原因 - 失败的代码是对 Calendar.getDisplayName(int, int, Locale) 的调用
失败的代码:
System.out.println("Getting calendar instance");
Calendar instanceCalendarObj = Calendar.getInstance();
String date = instanceCalendarObj.getDisplayName(Calendar.MONTH, 0, Locale.ENGLISH);
date = date.concat(" "+String.valueOf(instanceCalendarObj.get(Calendar.DAY_OF_MONTH)));
date = date.concat(", "+String.valueOf(instanceCalendarObj.get(Calendar.YEAR)));
JOptionPane.showMessageDialog(this, date);
错误消息:
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException
at java.util.Calendar.checkDisplayNameParams(Unknown Source)
at java.util.Calendar.getDisplayName(Unknown Source)
任何帮助将不胜感激,即使它只是一个解决方法。
最佳答案
您向 getDisplayName()
方法传递了错误的参数。
第二个参数是样式,其可能的值为Calendar.SHORT
和Calendar.LONG
。使用这些常量,如下所示:
Calendar c = Calendar.getInstance();
c.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.ENGLISH);
c.getDisplayName(Calendar.MONTH, Calendar.LONG, Locale.ENGLISH);
顺便说一句,Calendar.SHORT
和 Calendar.LONG
的常量值为 1 和 2(并且您在代码中传递了 0)。但始终使用常量名称而不是它们的值!
关于java - “Calendar.getDisplayName”给出 'IllegalArgumentException' 和 'Unknown Source',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23564368/
我像这样从 Calendar 中成功获取月份: monthMap = calendar.getDisplayNames(Calendar.MONTH, Calendar.LONG, Locale.ge
我正在尝试编写一个与 Windows Core Audio 和 WASAPI 接口(interface)的程序。我在使用以下几行时遇到困难。 CComHeapPtr name; hr = pAudio
下面是我的程序,当我输入相关的月份、日期和年份时,它返回错误的日期名称。 我在这里缺少什么? 我的程序 import java.util.Calendar; import java.util.Loca
本文整理了Java中java.time.ZoneId.getDisplayName()方法的一些代码示例,展示了ZoneId.getDisplayName()的具体用法。这些代码示例主要来源于Gith
我正在不同时区测试我的应用程序。我手动将物理手机的时区更改为英国伦敦,即 GMT+00:00 但是,当我使用 myCalendar.getTimeZone().getDisplayName(true,
我想通过这个获取一个月的显示名称: final Calendar c = Calendar.getInstance(); String monthName=c.getDisplayNa
我正在尝试获取给定日期(例如生日)的工作日。因此,我正在使用 Calendar 对象并调用 getDisplayName() 方法。但是每次该方法返回错误值时,工作日都会提前两天。例如:输入:23.1
我正在尝试将 Google Sign-in 集成到我的 android 应用中。 这是我的代码: @Override protected void onCreate(Bundle savedInsta
我需要一个转换器,将 DayOfWeek 转换为 String 并在给定一些 Locale 和 TextStyle 的情况下反过来.一种方法很简单: public String getAsString
下面的代码输出“日本标准时间”。 TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo"); Locale locale = new Locale("ja_JP
我在运行应用程序时遇到此问题: Attempt to invoke virtual method java.lang.String com.google.firebase.auth.FirebaseU
我使用一个方法根据Locale.getDefault()获取月份的显示名称 private String getLocaleMonthString(Date date){ Calendar cal =
这个问题在这里已经有了答案: firebaseAuth.getCurrentUser() return null DisplayName (9 个回答) 关闭 4 年前。 我正在尝试使用 Fireb
我目前有这段代码,遍历默认设备(未显示)的 Audio Session 控件: int sessionCount; hr = audioSessionEnumerator->GetCount(&ses
本文整理了Java中org.hippoecm.repository.api.WorkflowDescriptor.getDisplayName()方法的一些代码示例,展示了WorkflowDescri
本文整理了Java中net.sf.saxon.query.XQueryFunction.getDisplayName()方法的一些代码示例,展示了XQueryFunction.getDisplayNa
我正在尝试在我的 Android 代码中的日历对象上使用 getDisplayNames()。我包含了 java.util.Calendar 并且在使用 Calendar 类的任何其他公共(publi
问题 - 我的应用程序在跨越数百台计算机的生产环境中使用。安装一些新计算机并发现我的应用程序仅在新计算机上崩溃后出现了问题。新计算机配备了 JAVA v8u5,为了解决这个问题,我还安装了 v7u55
我有一个使用此类的应用程序:java.util.Currency 在应用程序中,我维护了一个国家代码到语言环境的映射。我通过传入国家/地区代码来检索语言环境 当我将此语言环境传递给 Currency.
timeOfMark = Calendar.getInstance(Locale.ENGLISH); Map what = timeOfMark.getDisplayNames(Calendar.HO
我是一名优秀的程序员,十分优秀!