`
jackroomage
  • 浏览: 1215094 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

java里将字符串转换成日期,这么麻烦吗

阅读更多
Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/



import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;



public class DateFormat {



    public static void main(String[] args){

        String strDate="2008-8-25";//假如这从数据库取出来的,他就是个字符串

        SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd");    //我必须现在这儿指定一下格式

        SimpleDateFormat format2=new SimpleDateFormat("yyyy年-MM月-dd日");再在这里指定一下显示给用户的样式

       

        try {

            System.out.println(format2.format(format1.parse(strDate)));

        } catch (ParseException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }


从数据库取出来的日期型字符串,标准肯定就是yyyy-MM-dd这样格式,我将字符串转换成日期的时候干嘛还要指定yyyy-MM-dd呢
有没有比这种更简便的方法
网友回复:用字符串取直接扔。。。
网友回复:啥意思。。
网友回复:怎么写 你写一下
网友回复:你是什么数据库
网友回复:sql2005
网友回复:引用 5 楼 kroda 的回复:
sql2005

你取出日期后,打印下看下什么格式。
网友回复: public static Date getDateFromString(String date, String fmt)
throws Exception {
if (date == null ¦ ¦ date.trim().length() == 0)
return null;
SimpleDateFormat sdf = fmt == null ? new SimpleDateFormat(
DEFAULT_DATE_FORMAT) : new SimpleDateFormat(fmt);
return sdf.parse(date);
}

参数date为:2008-08-08 的话 fmt为:YYYY-MM-DD
你试下
网友回复:我意思 就是把这样的"2008-8-25"字符串转成日期格式 怎么办

SimpleDateFormat format1=new SimpleDateFormat("yyyy-MM-dd"); 有没有更简便的做法
网友回复:我一直都是调用刚刚我发的那个类转换,调用一个类也不是很麻烦啊
网友回复:引用 7 楼 liaoyi_ipanel 的回复:
public static Date getDateFromString(String date, String fmt)
throws Exception {
if (date == null | | date.trim().length() == 0)
return null;
SimpleDateFormat sdf = null ? new SimpleDateFormat( //应该这么写吧
DEFAULT_DATE_FORMAT) : new SimpleDateFormat(fmt);
return sdf.parse(date);
}

参数date为:2008-08-08 的话 fmt为:YYYY-MM-DD
你试下

网友回复:这样了还嫌麻烦啊...
这是我自己常用的一些方法


Java code





Code highlighting produced by Actipro CodeHighlighter (freeware)

http://www.CodeHighlighter.com/



    public static long string2time(String date, String format) {

        if (date == null) {

            return 0;

        }

        SimpleDateFormat dateFormat = new SimpleDateFormat(format);

        Date dt = null;



        try {

            dt = dateFormat.parse(date);

        } catch (ParseException excpt) {

            return 0;

        }

        return date2time(dt);

    }



    public static String time2string(long time, String format) {

        if (time == 0)

            return "";

        Date date = new Date(time);

        SimpleDateFormat dateFormat = new SimpleDateFormat(format);

        return dateFormat.format(date);

    }



    public static Date string2date(String date, String format) {

        if (date == null) {

            return null;

        }

        SimpleDateFormat dateFormat = new SimpleDateFormat(format);

        Date dt = null;



        try {

            dt = dateFormat.parse(date);

        } catch (ParseException excpt) {

            return null;

        }

        return dt;

    }



    public static String date2string(Date date, String format) {

        SimpleDateFormat dateFormat = new SimpleDateFormat(format);

        return dateFormat.format(date);

    }



    public static long date2time(Date date) {

        Calendar cld = Calendar.getInstance();

        cld.setTime(date);

        return cld.getTimeInMillis();

    }




网友回复:引用 9 楼 liaoyi_ipanel 的回复:
我一直都是调用刚刚我发的那个类转换,调用一个类也不是很麻烦啊

DEFAULT_DATE_FORMAT

这个值不认那。。
网友回复:ls正解。
网友回复:sql server的日期打印出来应该是这样吧2008-08-21 17:37:08.177 、
如果就提论题,
得到后 date。 SimpleDateFormat f=new SimpleDateFormat("yyyy年-MM月-dd日"); 直接 f.format(date)就可以得到你想要的格式。
怎么还转换俩次。

网友回复:感谢感谢,结贴了
网友回复:引用 14 楼 zhangkai08111 的回复:
sql server的日期打印出来应该是这样吧2008-08-21 17:37:08.177 、
如果就提论题,
得到后 date。 SimpleDateFormat f=new SimpleDateFormat("yyyy年-MM月-dd日"); 直接 f.format(date)就可以得到你想要的格式。
怎么还转换俩次。

你这么写肯定错 你最好在环境下试试 SimpleDateFormat构造函数必须和你要格式化的日期字符串格式一样
网友回复:引用 16 楼 kroda 的回复:
引用 14 楼 zhangkai08111 的回复:
sql server的日期打印出来应该是这样吧2008-08-21 17:37:08.177 、
如果就提论题,
得到后 date。 SimpleDateFormat f=new SimpleDateFormat("yyyy年-MM月-dd日"); 直接 f.format(date)就可以得到你想要的格式。
怎么还转换俩次。

你这么写肯定错 你最好在环境下试试 SimpleDateFormat构造函数必须和你要格式化的日期字符串格式一样

兄弟,我试了。。肯定没问题。
网友回复:关键你这步 数据库里的是字符串 你怎么转成date类型的?
网友回复:在C#里 直接一句Convert.ToDatetime(String)就行了。。
分享到:
评论

相关推荐

    java java java.zip

    1. **基础语法**:包括变量、数据类型(如整型、浮点型、布尔型、字符串等)、运算符、控制流程(if语句、for循环、while循环、switch语句等)、方法、类与对象等。理解这些概念是编写Java程序的基础。 2. **面向...

    java常用类库源码

    9. **字符串处理**:String类是Java中最常用的类之一,源码解析可以帮助我们理解字符串的不可变性、substring、replace等方法的实现。 10. **枚举和注解**:Java枚举提供了一种安全的常量表示,而注解则提供了一种...

    Java中文1.6API

    9. **泛型**:从Java 5开始引入,提供了一种类型安全的方式来操作集合,避免了类型转换的麻烦和潜在的ClassCastException。 10. **枚举**:作为单例模式的一种实现方式,枚举类型提供了更安全的常量管理,同时支持...

    Android 获取2个日期相差天数

    步骤2:使用`formatter`将字符串形式的日期转换为`Date`对象。假设我们有两个日期字符串`dateStr1`和`dateStr2`: ```java String dateStr1 = "2022-01-01"; String dateStr2 = "2022-02-01"; try { Date date1 =...

    自定义struts时间转换器

    这两个方法分别用于将字符串转换为日期对象,以及将日期对象转换为字符串。 ```java import org.apache.struts2.util.StrutsTypeConverter; public class CustomDateConverter extends StrutsTypeConverter { @...

    老师课堂内容java

    10. **Java标准库**:Java API提供了大量的类和接口,如Math类用于数学计算,String类处理字符串,日期时间API处理日期和时间,等等。熟悉并熟练使用这些类能提高编程效率。 11. **JDBC**:Java Database ...

    Java基础教程-初学者快速上手

    String类在Java中是不可变的,提供了丰富的字符串处理方法。了解如何创建、操作和比较字符串对编程至关重要。 10. **类与对象** Java是面向对象的语言,类是对象的模板,对象是类的实例。理解类的构造器、属性...

    Java2 类库--技术手册

    7. **泛型**:自Java 5开始引入,泛型提供了类型安全的容器,避免了类型转换的麻烦和可能的运行时错误。 8. **枚举**:`enum`关键字引入了一种新的数据类型,用于创建有限的、预定义的常量集,增加了代码的可读性和...

    java大学试题

    8. **泛型**:泛型引入于Java 5,用于提供类型安全,减少类型转换的麻烦。学生需要了解泛型类、泛型方法和通配符的使用。 9. **反射**:反射是Java的一个高级特性,允许程序在运行时动态获取类的信息并调用其方法。...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    9.2.6 在字符串中查找子字符串或字符 226 9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 String类的最佳拍档——StringBuffer类 227 9.3.1 StringBuffer:专业操纵字符 228 9.3.2 String...

    java爱好者的好帮手——java类库

    1. **基础类库**:这是Java平台的基础,包括`java.lang`包,提供基本数据类型、异常处理、字符串处理等核心功能。如`Object`类是所有Java类的父类,`String`类用于表示不可变的字符序列。 2. **集合框架**:`java....

    第一行代码Java源代码第10章课程代码Java常用类

    10. **泛型**:泛型是Java 5引入的新特性,用于增强类型安全性,减少类型转换的麻烦。理解泛型的基本用法,如定义泛型类、泛型方法和通配符等,对于编写高效且易于维护的代码非常关键。 这些知识点构成了Java开发中...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第12章_Java常用类(共42页).rar

    10. **字符串处理**:String类是不可变的,提供了大量的方法用于字符串操作,如concat、substring、indexOf、replace等。 以上只是Java常用类的冰山一角,实际的Java类库包含了更多丰富的功能,如数学运算、正则...

    Java api 文档

    - `String`:不可变的字符序列,用于处理文本数据,提供了丰富的操作字符串的方法。 - `Integer`、`Double`等:装箱类,用于将基本类型转换为对象。 - `Comparator`:比较对象的接口,用于自定义排序规则。 - `...

    Java SE完整版精品优质课件 自学入门必看的优秀Java基础知识培训教案 第01章_Java语言概述(共50页).pptx

    "枚举"允许你定义有限数量的常量,比传统的整数或字符串常量更安全。 "IO"(Input/Output)系统包括文件I/O、流和网络I/O,是处理数据输入和输出的关键。"多线程"使你的程序能够同时执行多个任务,提升程序的效率。...

    180个针对Java初学者的简单实例.rar

    4. **字符串处理**:Java提供了丰富的String类,用于字符串的创建、比较、截取、替换等操作。 5. **异常处理**:学习如何使用try-catch-finally结构捕获和处理程序运行时可能出现的错误。 6. **输入/输出流**:...

    Java基础笔记_Java基础笔记_Java笔记_worthnwg_

    12. **泛型**:引入泛型来增强类型安全,减少类型转换的麻烦。 13. **注解(Annotation)**:元数据的一种形式,用于向编译器、JVM或其他工具提供信息。 14. **Java 8及以后的新特性**:如Lambda表达式、Stream ...

    Java语言程序设计(复习题,课后习题答案)第十版

    4. **字符串处理**:讲解String类的使用,如字符串的连接、查找、替换和分割等操作。 5. **异常处理**:如何使用try-catch-finally结构来捕获和处理程序运行时可能出现的错误。 在进阶版中,可能会涵盖: 1. **...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    9.2.6 在字符串中查找子字符串或字符 226 9.2.7 替换字符串中的内容 226 9.2.8 String对象——磐石刻字 227 9.3 String类的最佳拍档——StringBuffer类 227 9.3.1 StringBuffer:专业操纵字符 228 9.3.2 String...

    Java基础教程.md.pdf

    - **JIT编译**:即时编译器可以将字节码编译成机器码,提高执行速度。 - **GC(Garbage Collection)**:自动管理内存,避免了手动管理内存带来的麻烦。 ##### 1.5 JRE、JDK、JVM之间的区别与联系 - **JVM**:Java...

Global site tag (gtag.js) - Google Analytics