我无法打印从MySQL数据库的DATETIME字段中获取的日期。我正试图打印一个包含此日期时间信息的字段:2013-06-23 17:29:40
格式为年-月-日小时:分钟:秒。
从数据库结果(cal.toString())中获取日期:java。util。GregorianCalendar[time=137200138000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id=“Europe/Paris”,offset=3600000,dstSavings=3600000,UseDayland=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,DStSaves=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDayOfWeek=1,startDayOfWeek=1,startDayOfWeek=1,startDayOfWeek=1,startTime=3600000,startDayOfWeek=2,EndMonte=2,endMonth=9,endDayOfWeek=1,endDayOfWeek=1,endDayOfWeek=2,endDayOfWeek=2,endDayOfWeek=2,endDayOfWeek=2,endDayOfWeek=2,endDayOfWeek=3,endDayOfWeek=3,EndOfWeek=1,EndOfWeek=1,EndOfWeek=1,周中日月中日,上午下午1点,小时5点,日中小时17点,分钟29点,秒40点,毫秒0点,分区偏移量3600000点,DST偏移量3600000点]
我使用Integer.toString将int属性转换为String。但是打印年份我得到了这个:1打印月份:3打印日期:5打印小时:11打印分钟:12打印秒:13
如果我这样做:
String month = Integer.toString(cal.get(Calendar.MONTH) + 1);
if (month.length() == 1)
month = "0" + month;
String day = Integer.toString(cal.get(Calendar.DAY_OF_MONTH));
if (day.length() == 1)
day = "0" + day;
String hour = Integer.toString(cal.get(Calendar.HOUR_OF_DAY));
if (hour.length() == 1)
hour = "0" + hour;
String minute = Integer.toString(cal.get(Calendar.MINUTE));
if (minute.length() == 1)
minute = "0" + minute;
String second = Integer.toString(cal.get(Calendar.SECOND));
if (second.length() == 1)
second = "0" + second;
String date= cal.YEAR + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
如果我打印日期字符串,我会得到这个:1-06-23 17:29:40
有人知道发生了什么吗?我怎样才能打印出正确的日期?提前谢谢。
一旦获得了日历
实例,就可以从中获得日期
实例,并使用SimpleDateFormat
格式化字符串。例如
Date d = cal.getTime();
DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String s = df.format(d); // formatted date
您得到错误字符串的原因是... cal。YEAR是Calendar
类的静态常量,其值定义为1
。
String date= cal.YEAR + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second;
^^^^^^^^
这就是你记错年份的原因。
如果你应该得到年、月、日、时、分、秒的每个值,可以这样做:
String year = String.format("%d", cal.get(Calendar.YEAR));
String month = String.format("%02d", cal.get(Calendar.MONTH)+1);
String date = String.format("%02d", cal.get(Calendar.DATE));
String hour = String.format("%02d", cal.get(Calendar.HOUR));
String minute = String.format("%02d", cal.get(Calendar.MINUTE));
String second = String.format("%02d", cal.get(Calendar.SECOND));
我有一个java实体类TimeEntry.java它的属性之一是Date,它看起来像这样。 对于该字段,在swagger UI模型模式上,字段日期显示为“日期”:“2016-01-08T22:34:22.337Z”,但我需要该字段作为“日期”:“2016-01-08”。 我尝试了以下方法: 请帮帮忙。
我有一个问题,用PHP在输入字段中回响DateTime。现在,我无法在输入字段中回响所选的DateTime值。 下面是我的示例编码,我使用下面的方法无法回显所选值: 结果如下图所示: 这是我的在线工作示例代码:https://paiza.io/projects/D-J1uBPeHJuL8jCOhToRQQ 希望有人能指导我如何解决这个问题。谢谢。
问题内容: 有人可以向我解释为什么以下过滤器在月份和日期级别不起作用吗?按年份进行过滤似乎有效,但其他两个方法却无效。 快速更新以演示在创建和处理查询集之前我得到了相同的行为: 这里有更多值得深思的地方: 问题答案: Django文档给出了将时区定义安装到数据库的指令: SQLite:安装-转换实际上是在Python中执行的。 PostgreSQL:无要求(请参阅时区)。 Oracle:无要求(请
问题内容: 我想通过表达式从表中获取所有行: 但是,如果该列包含日期时间,可以这样说: 但是如果我这样做: 它不会排。 我猜这是因为$ date = 2014-07-10,这使MySQL假设它是2014-07-10 00:00:00。 在普通的MySQL中,我会做 使用Laravel的口才相当于什么? 问题答案: Laravel 4+为您提供这些方法:,,(#3946)和(#6879)。 他们为您
问题内容: 我有一个函数,将时间戳记值(YYYY-MM-DD HH:MM:SS)放入table的列中。 我想做的是比较日期的部分(YYYY-MM-DD)是否等于今天(CURDATE()),而忽略小时,分钟和秒(HH:MM:SS)。 我该怎么做? 问题答案: 始终尽可能避免在现场进行计算:例如 将为该表中的所有行计算DATE(),因此您实际上在这里谈论的是浪费的周期
问题内容: 有人可以向我解释为什么以下过滤器在月份和日期级别上不起作用吗?按年份进行过滤似乎有效,但其他两个方法却无效。 快速更新以演示在创建和处理查询集之前我得到了相同的行为: 这里有更多值得深思的地方: 问题答案: @SimonWilder完美地回答了为什么它不起作用的问题,这是您可以在不禁用Django中的TZ支持的情况下实际解决它的方法 Django文档给出了将时区定义安装到数据库的指令: