Tag: simpledateformat

Java日期年度计算按年计算,为期两天

如果你能想象的话,这会在我的软件中引起Y2K风格的错误。 奇怪的是,一年的计算只发生在一年中的两天,我不太确定如何排除故障。 输出: 03-Jan-2013 02-Jan-2013 01-Jan-2013 31-Dec-2013 ** strange 30-Dec-2013 ** strange 29-Dec-2012 28-Dec-2012 27-Dec-2012 26-Dec-2012 25-Dec-2012 我不确定Java日期实用程序的哪一部分可能导致此类错误。 代码(因为测试很小,我包括一个完整的工作程序): import java.util.Calendar; import java.util.Date; import java.text.SimpleDateFormat; public class DateT { private static String getFormattedBackscanStartTime(int days) { SimpleDateFormat dateFormat = new SimpleDateFormat(“dd-MMM-YYYY”); Calendar workingDate = Calendar.getInstance(); workingDate.add(Calendar.DATE, -1 * days); String formattedStartTime = dateFormat.format(workingDate.getTime()); return formattedStartTime; } […]

如何将HH:mm:ss.SSS转换为毫秒?

我有一个字符串00:01:30.500 ,相当于90500毫秒。 我尝试使用SimpleDateFormat ,它提供毫秒,包括当前日期。 我只需要字符串表示毫秒。 我是否必须编写自定义方法,它将分割并计算毫秒数? 或者还有其他办法吗? 谢谢。 我试过如下: String startAfter = “00:01:30.555”; SimpleDateFormat dateFormat = new SimpleDateFormat(“HH:mm:ss.SSS”); Date date = dateFormat.parse(startAfter); System.out.println(date.getTime());

如何将日期转换为yyyy-MM-dd格式?

2012年12月1日00:00:00 GMT 我必须将上述日期转换为以下格式 2012年12月1日 我怎么能够? 我试过以下方法,但它没有工作 public Date ConvertDate(Date date){ DateFormat df = new SimpleDateFormat(“yyyy-MM-dd”); String s = df.format(date); String result = s; try { date=df.parse(result); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return date; }

在日期时间字符串中解析日期的序数指示符(st,nd,rd,th)

我检查了SimpleDateFormat javadoc ,但是我无法找到一种方法来解析日期格式的序数指示符 ,如下所示: Feb 13th 2015 9:00AM 我试过”MMM dd yyyy hh:mma” ,但是这些日子必须在数量上才能正确吗? 是否可以使用SimpleDateFormat解析“第13”日期而不必截断字符串?

选择12:00时比较时间不正确

我正在创建一个预订系统,我不想让用户在开始时间11:00和结束时间09:00(过去)预订(我正在使用24小时制)。 我有两个充满字符串的combobox,作为开始和结束时间(09:00,10:00,11:00,12:00,13:00 ……) 我有这个代码: String start = (String) startTime.getSelectedItem(); String end = (String) endTime.getSelectedItem(); try { if(new SimpleDateFormat(“hh:mm”).parse(start).before(new SimpleDateFormat(“hh:mm”).parse(end))){ System.out.println(“test1”);// future date – good }else{ System.out.println(“fail2”);// old date – bad } } catch (ParseException ex) { System.out.println(“error”); } 除非我选择开始/结束时间为12:00,否则此操作非常有效。 程序输出与它应该输出的相反,我不确定为什么。 如果我选择开始时间14:00和结束时间12:00,程序将输出fail2(良好输出), 如果我选择开始时间09:00和结束时间12:00程序将输出fail2(应该是test1), 如果我选择开始时间12:00和结束时间10:00,程序将输出test1(应该是fail2), 如果我选择开始时间12:00和结束时间15:00,程序将输出test1(良好输出) 这种类型的问题只发生在我选择12:00时。