Print using Java a date and time from a MySql DATETIME field
我在打印从mysql db的datetime字段中获取的日期时遇到问题。我正在尝试打印包含以下日期时间信息的字段:2013-06-23 17:29:40
格式为年月日时:分:秒。
从数据库结果(cal.toString())中获取日期:Java.U.FieldScRealDeal[Trime],AualFieldStSt= true,Apple FieldStase= Tral. ZONEFION[ID="欧洲/巴黎",偏移=3600000,DSTealSt==3600000,UsDayAuthLe=真,过渡=java. UTIL.SimuleMeTeal[ID] =欧洲/巴黎,偏移=3600000,DSSTARTIFY=3600000,USEDAYLAME=真,StistyValue= 0,StistMood=2,SARDMONth=2,startday=-1,startday of week=1,starttime=3600000,starttimemode=2,endmode=2,end月=9,endday=-1,endday of周=1,endtime=3600000,endtimemode=2]],第一天of周=2,最短天in第一周=4,时代=1,年=2013,月=5,年=25,月=3,月=3,月=23,年=174,月=1,月=1,月=1,月=1,年=1,年=1,年=2013,月=5,月=5,周=25,周=25,月=25,月=3,月=3,月=23日,月=23日,月=23日,日,年=174,年_in_month=4,am_pm=1,hour=5,hour_day=17,minute=29,秒=40,毫秒=0,区域偏移=3600000,DST偏移=3600000]
我使用integer.toString将int属性转换为字符串。不过,我在印刷这一年得到了:一打印月份:三打印日期:五打印时间:十一打印分钟:十二打印秒数:十三
如果我这样做:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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
有人知道发生了什么事吗?我怎么打印正确的日期?事先谢谢。
一旦获得了
1 2 3 | Date d = cal.getTime(); DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String s = df.format(d); // formatted date |
你得到错误字符串的原因是…cal.year是
1 2 |
这就是为什么你选错了一年。
如果您应该获得年、月、日期、小时、分钟、秒的每个值,可以这样做:
1 2 3 4 5 6 | 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)); |