Tag: date

将简短的美国日期解析为yyyy-MM-dd,java

我想解析日期“3/27/11”,我认为这个日期等于美国的短日期。 DateFormat df1 = new SimpleDateFormat(“MM/dd/yy”); DateFormat df2 = new SimpleDateFormat(“yyyy-MM-dd”); Date date = (Date) df1.parseObject(“03/27/11”); System.out.println(“New date: ” + df2.format(date)); 我在几个java教程中找到了上面的代码,但似乎没有用。 对于我的一些方式, Exception in thread “main” java.lang.AssertionError: Default directory must be absolute/non-UNC 这是我想要实现的目标, 输入:3/27/11 (03/27/11也应该是一个有效的输入) 输出:2011-03-27 提前致谢!

在java.time中从`MonthDay`或`YearMonth`类本地化字符串?

Java 8及更高版本中内置的java.time类提供MonthDay和YearMonth类。 他们的toString和parse方法使用标准的ISO 8601格式( YYYY-MM –MM-DD和YYYY-MM ),这是明智的。 对于向人类呈现,标准格式可能不合适。 反正是否有生成自动本地化的字符串来表示MonthDay或YearMonth对象中的值? 例如,在美国,用户通常可能需要月/日的MM / DD和年/月的MM / YY。 在英国,用户可能需要DD / MM的月份。 无论如何,通过Locale自动化这些变化而不是明确定义格式模式? 我使用面向日期的本地化格式化程序尝试了以下代码。 Locale l = Locale.US; DateTimeFormatter f = DateTimeFormatter.ofLocalizedDate ( FormatStyle.SHORT ).withLocale ( l ); YearMonth ym = YearMonth.of ( 2017 , Month.JANUARY ); MonthDay md = MonthDay.of ( Month.JANUARY , 29 ); String outputYm = ym.format […]

ToStringBuilder.reflectionToString(Object)以什么格式显示日期?

ToStringBuilder.reflectionToString(Object)以什么格式显示日期? 根据Apache Commons Lang 2.4文档 , ToStringBuilder.reflectionToString(Object)委托给ReflectionToStringBuilder.toString(Object) ,“使用默认的ToStringStyle通过reflection构建toString值”。 那么,默认的ToStringStyle显示日期的格式是什么?

用于UTC或带时区的时间戳的SQL标准

我正在寻找一种标准的SQL方法,以确保独立于数据库的列具有UTC时间戳或具有时区信息的时间戳。 在DB-column中存储时间戳UTC的UTC示例: 存储的UTC值= 2014-01-01 15:30:00.000 当地时间印度21:00 / 9pm当地时间戳“2014-01-01 21:00:00.000” 存储的UTC值= 2013-12-31 23:30:00.000 当地时间印度05:00 / 5am当地时间戳“2014-01-01 05:00:00.000” 在UTC方式中,应用程序必须处理时间分区 现在我不知道可能的方式,时间戳和时区具有上述值 存储的本地值= 2014-01-01 21:00:00.000 当地时间印度21:00 / 9pm当地时间戳“2014-01-01 21:00:00.000” 但是有时区信息吗? 或者如何获取此时间戳的时区信息? 存储的本地值= 2014-01-01 05:00:00.000 当地时间印度05:00 / 5am当地时间戳“2014-01-01 05:00:00.000” 但是有时区信息吗? 或者如何获取此时间戳的时区信息? 希望有人可以帮助我摆脱黑暗? 是否存在关于时间问题和存储数据以供国际应用的良好实践?

如何在Java中设置全局默认日期格式?

有没有办法设置用于将字符串解析为日期的默认DateFormat类? 我的背景:我从JDBC读取日期值的exception,因为日期字符串不是预期的格式。 (文字添加于2011-07-22): 似乎我需要确定我的问题描述:我使用外部专有数据库和专有JDBC驱动程序。 在数据库端不可能知道甚至更改列类型。 当我尝试通过ResultSet.getDate()或ResultSet.getObject()读取ResultSet列时,在JDBC驱动程序中会触发一些exception,例如“1999年7月10日不是有效日期”。 我想要实现的是通过设置一些适当的全局默认日期格式来避免此内部exception。 也许我需要先实现一些自定义Locale并将Locale全局安装?

在Android日期选择器中将SetMax日期设置为30天

我正在为Datepicker使用Material设计库。 我需要设置最小和最大日期。 最小日期有效,但我无法获得最长日期,该日期应该是距离最短date(current date) 30天。 谁能知道如何让它在这里工作? public void show() { Calendar now = Calendar.getInstance(); DatePickerDialog dpd = DatePickerDialog.newInstance( PostInfo.this, now.get(Calendar.YEAR), now.get(Calendar.MONTH), now.get(Calendar.DAY_OF_MONTH) ); dpd.setMinDate(Calendar.getInstance()); Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_MONTH, 30); dpd.setMaxDate(calendar.getInstance()); dpd.show(getFragmentManager(), “Datepickerdialog”);

java.sql.SQLException:ORA-01843:不是有效月份

将数据插入我的oracle数据库时出现以下错误。 java.sql.SQLException: ORA-01843: not a valid month 在数据库中日期为:dd-MMM-yy(06-MAR-12) 我通过以下方法将06-03-2012转换为dd-MMM-yy: String s=”06-03-2012″; String finalexampledt = new SimpleDateFormat(“dd-MMM-yy”).format(new SimpleDateFormat(“dd-MM-yyyy”).parse(s)); 所以我得到了06年3月12日,这与上面的数据库日期格式相同,但我仍然得到错误。 我插入为: 在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="”/> 在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 […]

hh:mm a和HH之间的差异:mm a

这是我原来的代码 – String dateString = “23 Dec 2015 1:4 PM”; Locale locale = new Locale(“en_US”); SimpleDateFormat formatter = new SimpleDateFormat(“dd MMM yyyy HH:mm a”); DateFormat df = new SimpleDateFormat(“dd MMM yyyy HH:mm a”, locale); Date date = null; try { date = formatter.parse(dateString); } catch (ParseException e) { LOGGER.error(e); } String newDate = df.format(date); System.out.println(“oldDate […]

将日期字符串(EST)转换为Java日期(UTC)

我需要一些关于这个java方法的建议。 此方法的目的是获取表示日期的字符串 – 此字符串是从EST时区中的日期创建的 – 并将其转换为UTC时区中的Java Date对象。 private Date buildValidationDate(String dateString) throws ParseException { System.out.println(“dateString ” + dateString); SimpleDateFormat dateFormat = new SimpleDateFormat(“MM/dd/yyy hh:mm a”); dateFormat.setTimeZone(TimeZone.getTimeZone(“UTC”)); dateFormat.setLenient(true); Date dt = dateFormat.parse(dateString); System.out.println(“dt ” + dt); return dt; } 我看到的问题是dt的价值似乎已经消失了。 例如,如果dateString是’10 / 16/2012 12:06 PM’ – 我期望dt(以UTC为单位)的值类似于’2012年10月16日星期二下午4:06’。 相反,dt的值是’Tue Oct 16 07:06:00 CDT 2012’。 这似乎不是正确的UTC时间。 我很感激任何建议,我很抱歉,如果这似乎是一个简单的问题,我在Java日期遇到了很多麻烦。 我不确定我是否编码错误或者我的方法有问题。 […]

javax.mail.Message尝试获取给定日期范围的消息

在我的应用程序中,我正在尝试使用java邮件API来读取我们收到退回电子邮件记录的一个邮箱,我相信我们可以使用它来获取所有邮件 // Get a Store object that implements the specified protocol. store = session.getStore(protocol); //Connect to the current host using the specified username and password. store.connect(hostName, userName, password); folder = store.getFolder(folderName); Message[] messages = folder.getMessages(); 然而,这将返回我提供的文件夹中的所有消息,有没有办法在我可以找到我在昨天收到的给定日期范围内的消息。 在这方面的任何帮助将受到高度赞赏。 谢谢 Vaibhav的