java如何yyyy-mm-dd格式转换成dd-mon-yy格式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何yyyy-mm-dd格式转换成dd-mon-yy格式相关的知识,希望对你有一定的参考价值。

表中的日期是02-4月-11,当从JAVA 后台读取出来变成yyyy-mm-dd,如果再插入到数据库。报java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配,请问在后台该如何转换

自己写的一个日起转换类:DateConventer

import java.sql.Timestamp;
//import java.text.ParseException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/********************************************************************
* 日期和字符串之间的相互转换
*
* @author makai
* @version 1.0 2009/02/07
*/
public class DateConventer

/****************************************************************
* 将字符串转换为java.util.Date
*
* @param str
* @return java.util.Date
****************************************************************/
public static Date strToDate(String str, String pattern)
Date d = null;
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
try
d = formatter.parse(str);
catch (ParseException e)
System.out.println("非法的字符串。。。");
e.printStackTrace();

return d;


/****************************************************************
* 将字符串转换为java.util.Date
*
* @param str
* @return java.util.Date
****************************************************************/
public static Date strToDate(String str)
Date d = null;
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try
d = formatter.parse(str);
catch (ParseException e)
System.out.println("非法的字符串。。。");
e.printStackTrace();

return d;


/****************************************************************
* 将java.util.Date转换为字符串
*
* @param str
* @param pattern
* @return String
****************************************************************/
public static String dateToStr(Date date, String pattern)
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
return formatter.format(date);


public static String dateToStr(Date date)
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(date);


/****************************************************************
* 将字符串转换为java.sql.Timestamp
*
* @param str
* @return java.sql.Timestamp
****************************************************************/
public static Timestamp strToTimestamp(String str, String pattern)
//return Timestamp.valueOf(str);
return new Timestamp(strToDate(str, pattern).getTime());


public static Timestamp strToTimestamp(String str)
//return Timestamp.valueOf(str);
return new Timestamp(strToDate(str).getTime());


/****************************************************************
* 将Timestamp转换为字符串
*
* @param str
* @return java.sql.Timestamp
****************************************************************/
public static String timestampToStr(Timestamp stamp, String pattern)
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
return formatter.format(stamp);


public static String timestampToStr(Timestamp stamp)
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return formatter.format(stamp);




插入数据库:Timestamp time = DateConventer.strToTimestamp(new Date().toString(),"yyyy-MM-dd");
ps.setTimestamp(1, time);

在页面显示数据 get_time 是表中的字段名
Timestamp time=rs.getTimeStamp("gst_time");
long lms=time.getTime();
Date date=new Date(lms);
System.out.println(date);
参考技术A 你可以从后台每次要使用的时候都先格式化一下,自己建立一个累,专门把02-4月-11转换成yyyy-mm-dd,可以自己拼接字符串。

如果是要插入oracle数据库的话,可以to_date(“02-4月-11”, 'yyyy-mm-dd hh24:mi:ss')你试试吧!这个格式我没转过,我原先转的只是2010-08-20 12:38:44.23追问

还是不行

追答

那你就自己写方法!拼接字符串吧~

参考技术B ......抑郁。。。存之前针对不同数据库,转化下格式。或者在数据库设置下默认的日期字符串转化格式
oracle 可设置 nls_date_format

vue如何修改生效日期范围,以及转化成yyyy-mm-dd的格式

近期做到过一个需求就是把产品的生效日期做成投保日期到投保日期后三年的设置。

核心:对于日期的转换就是得转化成毫秒来进行换算。

技术图片

 

 代码:

let mins = new Date(min).getTime() + 94608000000
                  let month = new Date(mins).getMonth() + 1
                  let day = new Date(mins).getDate()
                  let maxs =
                    new Date(mins).getFullYear() +
                    ‘-‘ +
                    (month < 10 ? ‘0‘ + month : month) +
                    ‘-‘ +
                    (day < 10 ? ‘0‘ + day : day)
                  that.endvalidate = maxs
                  console.log(that.endvalidate, maxs, ‘123456789‘)

 

以上是关于java如何yyyy-mm-dd格式转换成dd-mon-yy格式的主要内容,如果未能解决你的问题,请参考以下文章

如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?

java 如何判断出一段字符串是啥类型的日期格式!然后都同意转换成 yyyy-MM-dd HH:mm:ss这个格式呢

java中日期格式的转换,String类型的如:03/Jun/2013这种格式的,怎样转换成yyyy-mm-dd格式的?

java中如何把获取到的当前时间转化成YYYY-MM-DD格式Date型

VB 如何把access中的字符串日期转换成日期格式并能计算日期

java 判定日期是否符合yyyy-mm-dd