Java中Date与String的相互转换的例子

我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数据库获取出生日期,此时该类型为日期类型,然后需要将该日期类型转为字符串显示在页面上,Java的API中为我们提供了日期与字符串相互转运的类DateForamt。DateForamt是一个抽象类,所以平时使用的是它的子类SimpleDateFormat。SimpleDateFormat有4个构造函数,最经常用到是第二个。


 

构造函数中pattern为时间模式,具体有什么模式,API中有说明,如下


 

1、日期转字符串(格式化)

 1 package com.test.dateFormat;
 2
 3 import java.text.SimpleDateFormat;
 4 import java.util.Date;
 5
 6 import org.junit.Test;
 7
 8 public class Date2String {
 9     @Test
10     public void test() {
11         Date date = new Date();
12         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
13         System.out.println(sdf.format(date));
14         sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
15         System.out.println(sdf.format(date));
16         sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
17         System.out.println(sdf.format(date));
18     }
19 }
1 2016-10-24
2 2016-10-24 21:59:06
3 2016年10月24日 21:59:06
2、字符串转日期(解析)

 1 package com.test.dateFormat;
 2
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5
 6 import org.junit.Test;
 7
 8 public class String2Date {
 9     @Test
10     public void test() throws ParseException {
11         String string = "2016-10-24 21:59:06";
12         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
13         System.out.println(sdf.parse(string));
14     }
15 }
Mon Oct 24 21:59:06 CST 2016
在字符串转日期操作时,需要注意给定的模式必须和给定的字符串格式匹配,否则会抛出java.text.ParseException异常,例如下面这个就是错误的,字符串中并没有给出时分秒,那么SimpleDateFormat当然无法给你凭空解析出时分秒的值来

 1 package com.test.dateFormat;
 2
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5
 6 import org.junit.Test;
 7
 8 public class String2Date {
 9     @Test
10     public void test() throws ParseException {
11         String string = "2016-10-24";
12         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
13         System.out.println(sdf.parse(string));
14     }
15 }
不过,给定的模式比字符串少则可以

 1 package com.test.dateFormat;
 2
 3 import java.text.ParseException;
 4 import java.text.SimpleDateFormat;
 5
 6 import org.junit.Test;
 7
 8 public class String2Date {
 9     @Test
10     public void test() throws ParseException {
11         String string = "2016-10-24 21:59:06";
12         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
13         System.out.println(sdf.parse(string));
14     }
15 }
Mon Oct 24 00:00:00 CST 2016
可以看出时分秒都是0,没有被解析,这是可以的。

时间: 2024-12-05 18:18:36

Java中Date与String的相互转换的例子的相关文章

Java中Date与String相互转换的方法_java

我们在注册网站的时候,往往需要填写个人信息,如姓名,年龄,出生日期等,在页面上的出生日期的值传递到后台的时候是一个字符串,而我们存入数据库的时候确需要一个日期类型,反过来,在页面上显示的时候,需要从数据库获取出生日期,此时该类型为日期类型,然后需要将该日期类型转为字符串显示在页面上,Java的API中为我们提供了日期与字符串相互转运的类DateForamt.DateForamt是一个抽象类,所以平时使用的是它的子类SimpleDateFormat.SimpleDateFormat有4个构造函数,

java中数组和图片的相互转换问题。

问题描述 java中数组和图片的相互转换问题. 由于需求,我把一个灰度图片转成了一个short类型的数组. File file = new File("grayImage.jpg"); BufferedImage src=ImageIO.read(file); int width=src.getWidth(null); int height=src.getHeight(null); int minX=src.getMinX(); int minY=src.getMinY(); shor

数据库-java中Date类型如何与mysql中的datetime类型联系

问题描述 java中Date类型如何与mysql中的datetime类型联系 我在Mysql中建了一个datetime类型的数据 然后想在java中用Date类型来获取当前时间(变量名为inTime)并添加到数据库中 构造了一个函数,在传参数的时候应该怎么传, 还是到底是Import java.util.Date还是import java.sql.Date 并且我希望的时间格式为:2016-01-04 21:09:23 构造函数这样写对吗 public CheckIn( java.sql.Dat

Java中Date和Calendar常用方法_java

在java中用到的最多的时间类莫过于 java.util.Date了, 由于Date类中将getYear(),getMonth()等获取年.月.日的方法都废弃了,所以要借助于Calendar来获取年.月.日.周等比较常用的日期格式 注意:以下代码均已在jdk1.6中测试通过,其他版本可能使用不同,请注意!  Date与String的互转用法 /** * Date与String的互转用法,这里需要用到SimpleDateFormat */ Date currentTime = new Date()

关于Java中bytes到String的转换

    为什么想要写这个,是因为在上周,表格存储的一个客户,告知我们在将数据通过DataX从OTS导出到ODPS后,发现数据『丢失』了.而在调查过后,发现数据并不是所谓的『丢失』了,而是数据被『改变』了.     什么原因导致数据发生了『改变』呢?却是因为一个大部分Java程序员都会忽略的问题导致的,所以我觉得有必要单独拿出来讲讲. 首先看下如下代码: byte[] original1 = new byte[]{(byte)0xef, (byte)0x8f, (byte)0x8f}; byte[

Java中Date类和Calendar类的常用实例小结_java

前言写后台程序的时候,经常需要存储当前服务器的时间戳,使用时间戳也很方便,客户端和服务器端都可以根据自己的需求做各自的转换 在php里,获取当前时间戳使用time()函数,格式化输出通过Date()函数即可,Java里相对复杂一些,这里简单介绍一下 Java语言中的Calendar,Date,DateFormat组成了Java标准的一个基本但是非常重要的部分.日期是商业逻辑计算一个关键的部分,所有的开发者都应该能计算未来的日期,定制日期的显示格式,并将文本数据解析成日期对象 获取UNIX时间戳在

java中list数组转json数组例子

例子一  代码如下 复制代码 package com.yq1012.fastjson; import java.util.ArrayList; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class TestListTojson {  public static void main(String[] a

Java中使用正则表达式的一个简单例子及常用正则分享_java

import java.util.Scanner; public class regexTest { // 新建类 public static void main(String[] args){ // 主方法 Scanner sc = new Scanner(System.in); // new Scanner类对象 System.out.println("Please Enter Email:"); String email = sc.nextLine(); System.out.p

Java中CompletableFuture处理异步超时的例子

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言.Java 技术具有卓越的通用性.高效性.平台移植性和安全性,广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网,同时拥有全球最大的开发者专业社群. public void serve() throws InterruptedException, ExecutionException, TimeoutException {   final Future<Response> responseFuture = asyn