关于java中日期转化的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java中日期转化的问题相关的知识,希望对你有一定的参考价值。

我写了一段程序,主要是获取页面上输入的日期,然后插入到数据库中去。获取的日期为String型的,要转化为date型。结果报错“java.lang.IllegalArgumentException: Illegal pattern character 'Y'”,敢问是何原因。
我的代码: public static Date StringConvertDate(String timePattern, String date) throws ParseException
SimpleDateFormat format = new SimpleDateFormat(timePattern);
Date javadate = format.parse(date);
Date sqlDate = new Date(javadate.getTime());
return sqlDate;

参考技术A 1
我把你的程序输出了一下,发现没问题啊
你的错误显示是pattern 参数设置错误了

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest

public static void main(String[] args) throws ParseException
Date str = StringConvertDate("yyyy-mm-dd", "2008-12-05");
System.out.println(str);


public static Date StringConvertDate(String timePattern, String date)
throws ParseException
SimpleDateFormat format = new SimpleDateFormat(timePattern);
Date javadate = format.parse(date);
Date sqlDate = new Date(javadate.getTime());
return sqlDate;





字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y 年 Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800本回答被提问者采纳
参考技术B 应该是你的这个 timePattern 写错了

yyyy-MM-dd hh:mm:ss --->
年 月 日 时 分秒
参考技术C import java.text.SimpleDateFormat;
import java.util.Date;

public class Converter
public static Date convertToDate(String dateStr)

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
try
return sdf.parse(dateStr);
catch (Exception e)
return new Date();


参考技术D 年份的格式化标志应该是"y" yyyy-MM-dd 第5个回答  2008-12-05 为什么不让日期自动生成显示当前日期,输入干什么

关于sqlserver的时间输出与类型转化问题问题

本人初学,想用sqlserver2005把查询到的时间按照XX年XX月XX日的格式输出,年月日分别用汉字代替,最好能把XX也按照汉字输出,请指教

你好
如果要想得到xx年xx月xx日的格式的话
要看你要想在哪里得到
举例子说吧
你在数据库中是Datetime类型
你可以在写查询语句的时候就对得到的数据进行格式转换
也可以在 显示时候进行转换
Datetime date=xxx.getTime().ToDateString()
可以得到自动的格式转换。ToTimeString()就可以得到时间转换
参考技术A select year(TimeColumn)+ N'年'+month(TimeColumn)+N'月'+day(TimeColumn)+N'日' from tableA

以上是关于关于java中日期转化的问题的主要内容,如果未能解决你的问题,请参考以下文章

关于JAVA中字符串转换成日期型的问题

Java日期类型格式转化

vue关于时间戳转化为日期格式

vue关于时间戳转化为日期格式

求JAVA高手解答!有关于字符串类型转换成日期型!

c++字符串LPCTSTR格式转化为char*