How do I create the java date object without time stamp
我想创建一个没有时区的日期对象(例如:
1 2 3 4 5 6 7 8 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); TimeZone timeZone = TimeZone.getTimeZone("GMT"); timeZone.setDefault(timeZone); sdf.setTimeZone(timeZone); Date pickUpDate = sdf.parse("2007-06-21"); System.out.println(pickUpDate); |
如果要格式化日期,需要使用
Converts this Date object to a String of the form:
dow mon dd hh:mm:ss zzz yyyy
号
所以它的行为和文献记载的完全一样。
你已经有了一个格式正确的
1 |
当然,这在您的示例中没有多大意义,因为您只分析了它——但假设您通常会在第一个日期前后传递日期。
注意,如果这是为了与数据库交互,最好不要将其作为字符串传递。尽可能多地将值保存在"本机"表示中,并使用诸如
另一方面,如果您可以改变使用JoDA时间或Java 8中的新日期/时间API(EDCOX1,6),您将拥有与日期/时间相关的更平滑的时间。
代码:
1 2 |
。
日期:
样品输出:
需要导入:
1 2 | import java.util.Date; //for new Date() import java.text.SimpleDateFormat; // for the format change |
。
这是
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | public String toString() { //"EEE MMM dd HH:mm:ss zzz yyyy"; BaseCalendar.Date date = normalize(); StringBuilder sb = new StringBuilder(28); int index = date.getDayOfWeek(); if (index == gcal.SUNDAY) { index = 8; } convertToAbbr(sb, wtb[index]).append(' '); // EEE convertToAbbr(sb, wtb[date.getMonth() - 1 + 2 + 7]).append(' '); // MMM CalendarUtils.sprintf0d(sb, date.getDayOfMonth(), 2).append(' '); // dd CalendarUtils.sprintf0d(sb, date.getHours(), 2).append(':'); // HH CalendarUtils.sprintf0d(sb, date.getMinutes(), 2).append(':'); // mm CalendarUtils.sprintf0d(sb, date.getSeconds(), 2).append(' '); // ss TimeZone zi = date.getZone(); if (zi != null) { sb.append(zi.getDisplayName(date.isDaylightTime(), zi.SHORT, Locale.US)); // zzz } else { sb.append("GMT"); } sb.append(' ').append(date.getYear()); // yyyy return sb.toString(); } |
所以,如果你通过一个日期,并尝试打印它,这将一直打印出来。
1 2 |
。
使用此代码:
1 2 3 | SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd"); Date pickUpDate =sdf.parse("2007-06-21"); System.out.println("pickUpDate"+sdf.format(pickUpDate)); |
希望对你有帮助。
您需要的类型是JavaTime.LoalDead,在Java 8中添加。
如果不能使用Java 8,可以使用TyeTeNe,它是Java 7的后端。
1 |
号
您可以使用上述代码将