跪求日期转换问题

问题描述

我的数据是时间是bigInter类型javaBean是Long类型Calendarc=Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH,-7);Longstart=c.getTime().getTime();Datedate=newDate();Longend=date.getTime();SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");//获取startend时间//获取一个String类型值"2008-08-11"Stringstart_date=request.getParameter("start_date");Stringend_date=request.getParameter("end_date");//startdate是java.util.date类型//查询结果是java.sql.date类型start_dateend_dateLongs1=(start_date==null?start:??Longs2=(end_date==null?end:???如何转换java.sql.date结果转换成long类型

解决方案

解决方案二:
选择日期的是一个java.sql类型然后传过来怎么弄啊小弟都头大了
解决方案三:
不明白你问什么大概是你可以所String的end_date转换成date,然后通过date再转换为longString转换成date就要写一段代码了
解决方案四:
是不会转型吗?
解决方案五:
查询出来就的String类型值是一断js选择日期他是个java.sql的方法保存的形式我转换SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Datedate2=sdf.parse(end_date);java.sql.DatesqlDate=newjava.sql.Date(date2.getTime());Longs1=sqlDate.getTime();老是出错郁闷
解决方案六:
Stringstr="2006-11-1";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");try{java.util.DateuDate=sdf.parse(str);java.sql.DatesqlDate=newDate(uDate.getTime());System.out.println(sqlDate.toString());}catch(ParseExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}

sdf.parse的时候有个异常是要捕获的,然后就是你end_date的格式要和你format里面的格式"yyyy-MM-dd"的格式要一直不然就会报转换异常。goodluck
解决方案七:
SimpleDateFormat就是做这个的
解决方案八:
我给thorws了应该不是这个问题
解决方案九:
Stringstr="2006-11-1";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");这两个格式要正确,也就是如果你的format格式是yyyy/MM/dd那么转换的时候就会报异常但是如果你是yyyy-MM-dd,也就是和你的页面传过来的字符串的格式一致比如说上面的str就不会报异常放个断点,看你传过来的end_data的格式是不是和你format里面的一致或者你报错报的是什么错,贴出来大家看看
解决方案十:
严重:Servlet.service()forservletactionthrewexceptionjava.text.ParseException:Unparseabledate:"2008-08-01"atjava.text.DateFormat.parse(DateFormat.java:337)atcom.happygo.manager.web.struts.action.User_account_manageAction.list(User_account_manageAction.java:108)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)atorg.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)atorg.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)atorg.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)atorg.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)atorg.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)atorg.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:710)atjavax.servlet.http.HttpServlet.service(HttpServlet.java:803)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:173)atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)atorg.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)atjava.lang.Thread.run(Thread.java:619)传过来格式正确的
解决方案十一:
publicstaticvoidmain(String[]args){Stringstr="2008-08-01";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");try{java.util.DateuDate=sdf.parse(str);java.sql.DatesqlDate=newDate(uDate.getTime());System.out.println(sqlDate.getTime());}catch(ParseExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}}

这就奇怪了,我用你上面的时间测试过,没问题的啊
解决方案十二:
崩溃了~郁闷了真不知所错了
解决方案十三:
把你Action的代码贴出来看看
解决方案十四:
publicActionForwardlist(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsParseException{Calendarc=Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH,-7);Longstart=c.getTime().getTime();Datedate=newDate();Longend=date.getTime();//获取startend时间Stringstart_date=request.getParameter("start_date");Stringend_date=request.getParameter("end_date");Longs1=null;if(start_date==null){s1=start;}else{SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Datedate3=sdf.parse(start_date);java.sql.DatesqlDate=newjava.sql.Date(date3.getTime());s1=sqlDate.getTime();}Longs2=null;if(end_date==null){s2=end;}else{SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");Datedate2=sdf.parse(end_date);java.sql.DatesqlDate=newjava.sql.Date(date2.getTime());s2=sqlDate.getTime();}//date类型转换lang类型//获取金额充值总额0,1提现总额//充值总额BigDecimalvoucher_amount=this.userAccountService.search(s1,s2,(Byte)(byte)0);request.setAttribute("userAmonut",voucher_amount);//提取总额BigDecimalto_cash_amount=this.userAccountService.search(s1,s2,(Byte)(byte)1);request.setAttribute("toCash",to_cash_amount);//用户金额情况Listlist=this.accountLogService.search(s1,s2);for(inti=0;i<list.size();i++){Object[]userMoneys=(Object[])list.get(i);BigDecimaluser_money=(BigDecimal)userMoneys[0];//用户可用余额BigDecimalfrozen_money=(BigDecimal)userMoneys[1];//用户冻结金额request.setAttribute("userMoney",user_money);request.setAttribute("frozeMoney",frozen_money);}//交易金额和积分使用金额ListorderList=this.orderInfoService.search(s1,s2);for(inti=0;i<orderList.size();i++){Object[]userMoneys=(Object[])list.get(i);BigDecimalsurplus=(BigDecimal)userMoneys[0];//交易使用余额BigDecimalintegral_money=(BigDecimal)userMoneys[1];//积分使用余额request.setAttribute("sur",surplus);request.setAttribute("inte",integral_money);}request.setAttribute("start",start);request.setAttribute("end",end);returnmapping.findForward("toList");}
解决方案十五:
因为你这里用到了两种date所以建议你写代码的时候创建的时候要把包名家上才能区分到底是哪种date像这种Datedate=newDate();Datedate3=sdf.parse(start_date);根本就不知道是哪种date。
解决方案:
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");看看你的这个format里面的字符串多了一个空格去掉
解决方案:
都改过来了还是报那个错误2009-11-310:15:57org.apache.catalina.core.StandardWrapperValveinvoke严重:Servlet.service()forservletactionthrewexceptionjava.text.ParseException:Unparseabledate:"2009-11-09"郁闷死了
解决方案:
你的页面两个地方的format字符串都要改啊你肯定是只改了一个地方我测过你的代码没问题的publicstaticvoidmain(String[]args)throwsParseException{Calendarc=Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH,-7);Longstart=c.getTime().getTime();java.util.Datedate=newjava.util.Date();Longend=date.getTime();//获取startend时间Stringstart_date="2008-10-08";Stringend_date="2008-10-09";Longs1=null;if(start_date==null){s1=start;}else{SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");java.util.Datedate3=sdf.parse(start_date);java.sql.DatesqlDate=newjava.sql.Date(date3.getTime());s1=sqlDate.getTime();}Longs2=null;if(end_date==null){s2=end;}else{SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");java.util.Datedate2=sdf.parse(end_date);java.sql.DatesqlDate=newjava.sql.Date(date2.getTime());s2=sqlDate.getTime();}System.out.println("s1:="+s1);System.out.println("s2:="+s2);}

解决方案:
OK了谢谢了哎~郁闷不过还有一个问题哈~我的数据库保存的是1242140736是2008-08-01但是我页面选择js以后转换以后就不long的值就不不是这个了
解决方案:
你是说你的数据库里面的值和你页面上选择的时间转成的long值不对应?但是你插入数据库的时候是从页面读的long插入的应该不会不同吧没碰到过这种问题
解决方案:
BigInteger保存的时间是不是保存的格式和位数有点不同吗
解决方案:
不用simpledateformat直接用java.sql.Date的valueOf(s)string的格式为yyyy-mm-dd就可以转换成date类型的
解决方案:
你想两个Long值吧。你已差不多了,最后赋值时改一下啊Longs1=(start_date==null?start:java.sql.Date(start_date).getTime());Longs2=(end_date==null?end:java.sql.Date(end_date).getTime());
解决方案:
引用5楼gjsong的回复:

JavacodeStringstr="2006-11-1";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");try{java.util.DateuDate=sdf.parse(str);java.sql.DatesqlDate=newDate(uDate.getTime());System.out.println(sqlDate.toString());}catch(ParseExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}sdf.parse的时候有个异常是要捕获的,然后就是你end_date的格式要和你format里面的格式"yyyy-MM-dd"的格式要一直不然就会报转换异常。goodluck

bingo
解决方案:
ding
解决方案:
引用10楼gjsong的回复:

Javacodepublicstaticvoidmain(String[]args){Stringstr="2008-08-01";SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");try{java.util.DateuDate=sdf.parse(str);java.sql.DatesqlDate=newDate(uDate.getTime());System.out.println(sqlDate.getTime());}catch(ParseExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}应该是这样的}这就奇怪了,我用你上面的时间测试过,没问题的啊

解决方案:
学习了

时间: 2024-11-16 10:27:14

跪求日期转换问题的相关文章

vs2008 调试 类型转换-VS2008使用附加进程的方式调试时,参数传递中转换出错,跪求帮助

问题描述 VS2008使用附加进程的方式调试时,参数传递中转换出错,跪求帮助 OpenStreamEx_Direct( LONG lDevHandle, LONG nChan,, ULONGLONG hWnd, LONG* hPlayHandle) { CLIENTINFO ClientInfo; ClientInfo.lChannel = nChan; ClientInfo.hPlayWnd = (HWND)hWnd; ClientInfo.llLinkMode = 0x80000000; c

ichart 点击事件-跪求大神告知...ichart 鼠标点击图片的小点获取值X轴的日期

问题描述 跪求大神告知...ichart 鼠标点击图片的小点获取值X轴的日期 鼠标点击图片上的点,怎样取到鼠标点击所对应的日期(http://img.ask.csdn.net/upload/201602/25/1456365880_797186.png)

大数据-ajax异步请求数据问题。。。看不出哪里错了。。。跪求大神指点。。。

问题描述 ajax异步请求数据问题...看不出哪里错了...跪求大神指点... 我做ajax读取Excel表格里的数据...这是JAVA代码 java: public static List<HashMap<Object,Object>> readExcel(String excelPath){ //声明一个集合用于存储解析出来的数据 List<HashMap<Object,Object>> maps = new ArrayList<HashMap&l

30/May/2013:17:38:25这种日期转换问题

问题描述 30/May/2013:17:38:25这种日期转换问题 我想把30/May/2013:17:38:25这种类型的字符串转换成日期类型的怎么转呀,求大神帮忙!!!!!! 解决方案 什么语言?js Date参数可以使用这种字符串 var d=new Date('30/May/2013:17:38:25'); alert(dtoLocaleString()) 解决方案二: String src="[27/May/2011:17:19:41 +0800]"; SimpleDateF

参数-初学者深夜提问,多有打扰,跪求指点。error C2664

问题描述 初学者深夜提问,多有打扰,跪求指点.error C2664 一个俄罗斯方块的小程序,报错部分代码如下: //显示分数信息 char string[5]; wColors[0]=FOREGROUND_RED| FOREGROUND_GREEN|FOREGROUND_INTENSITY; textout(handle,26+dx,5+dy,wColors,1,_itoa_s(score,string,10)); textout(handle,26+dx,9+dy,wColors,1,_it

加强51 卡尔曼滤波-[51单片机] 有没有大神做基于加强51的MPU6050啊~~~跪求指导

问题描述 [51单片机] 有没有大神做基于加强51的MPU6050啊~~~跪求指导 本人只会用串口和用1602读出数据... 不会卡尔曼滤波.等对数据的处理和进一步转换 解决方案 http://bbs.elecfans.com/jishu_364692_1_1.html

跪求高手指教:将此JAVA方法改写成sqlserver存储过程,

问题描述 跪求高手指教:将此JAVA方法改写成sqlserver存储过程, /** * 计算并保存遗漏值 * * @CreateDate Dec 16, 2013 - 2:48:44 PM * @param request */ @SuppressWarnings("unchecked") public void saveOmitValue(HttpServletRequest request) { // 获取当前日期 String date = DateUtils.formatDat

oracle数据库-跪求:oracle如何在数据分组后更新(update)?求大神指导啊~~~万分感谢

问题描述 跪求:oracle如何在数据分组后更新(update)?求大神指导啊~~~万分感谢 如题:org_info 表内容如下: ID NAME TEL ADDR OP_TYPE OCCUR_DATE 1001 aaa 888888 ppppppp 2014-07-23 1001 aaa 999999 ppppppp 2011-03-19 1002 bbb 666666 yyyyyyy 2014-09-15 1002 ipow 221 fghfghfh 2009-07-08 1002 ipow

leetcode-C++程序里面一个很奇怪的bug!跪求解释!!!

问题描述 C++程序里面一个很奇怪的bug!跪求解释!!! 这是我试图求解leetcode 第六题,这不重要,主要看一下程序里面那个if语句的执行 问题,不用看我针对这道题的逻辑对不对,这不是重点,重点是那个if语句!!! 在代码那个(***)的地方我给了注释!!! #include <iostream> #include <string> #include <cstring> using namespace std; int main() { string s; in