<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Loading...

    java .net

    用DateFormat的parse方法驗證字符串是否是日期的問題

    因為最近比較閑 有點不思進取 也沒什么問題要寫了
    今天不錯,發(fā)現(xiàn)一個,恩,感覺不錯
    做了一個上傳Excel并解析數(shù)據(jù)然后入庫的功能,里面涉及到是否是日期格式的判斷
    之前是這么寫的(深諳這么寫是不好的,但以為它是可靠的)

    private boolean checkDate(String content) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            try {
                sdf.parse(content);
                return true;
            } catch (Exception e){
                return false;
            }
        }

    現(xiàn)在發(fā)現(xiàn)問題了,對于“2008-06-23asdf”這種情況是返回true的,哈哈,看來是孤陋寡聞了,基礎(chǔ)不扎實了,看API上這樣講:

    在默認情況下,進行的分析是不嚴格的:如果輸入的形式不是此對象的格式化方法使用的形式,但仍可作為日期進行分析,則分析將獲得成功。客戶機可能通過調(diào)用 setLenient(false) 來強調(diào)嚴格遵守該格式。


    按照API說法,將代碼改成
    private boolean checkDate(String content) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            try {
                sdf. setLenient(false);
                sdf.parse(content);
                return true;
            } catch (Exception e){
                return false;
            }
        }

    運行結(jié)果“2008-06-23asdf”這種情況還是返回true的,但“2008-13-23”這種情況是返回false的
    最后改進程這種寫法,可以適應(yīng)"yyyy-MM-dd""yyyy-M-d""yyyy-MM-d""yyyy-M-dd"

    private boolean checkDate(String content) {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");
            try {
                sdf.setLenient(false);
                content = content.replaceAll("-0", "-");
                Date d = sdf.parse(content);
                String s = sdf.format(d);
                return content.equals(s);
            } catch (Exception e){
                return false;
            }
        }

    參考資料http://www.99inf.net/SoftwareDev/Java/52734.htm
                  http://blog.163.com/everlee@126/blog/static/263574220089822631229/

    當然也可以用正則表達式做到。

    posted on 2009-07-13 17:11 閱讀(2176) 評論(1)  編輯  收藏 所屬分類: 學習java

    評論

    # re: 用DateFormat的parse方法驗證字符串是否是日期的問題 2009-07-14 14:46 凡客誠品

    頂一下!!  回復  更多評論   

    公告

    希望有一天

    我能用鼠標雙擊我的錢包

    然后選中一張100元

    按住“ctrl+c”

    接著不停的“ctrl+v”

    嘻嘻~~~笑醒~~~



    導航

    <2009年7月>
    2829301234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    統(tǒng)計

    常用鏈接

    留言簿(6)

    隨筆分類(102)

    隨筆檔案(398)

    文章分類

    文章檔案(10)

    有趣網(wǎng)絡(luò)

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av永久无码精品漫画| 国产亚洲精品美女久久久 | 一级看片免费视频| 免费国产真实迷j在线观看| 亚洲成在人线在线播放无码| 在线观看免费成人| 精品无码专区亚洲| 亚洲AV蜜桃永久无码精品| 永久免费无码日韩视频| 亚洲精品无码av天堂| 中文在线观看国语高清免费| 亚洲AV无码国产丝袜在线观看| 久久久免费的精品| 亚洲人成伊人成综合网久久| 免费无码又爽又刺激聊天APP| 亚洲日韩AV一区二区三区中文 | 亚洲国产成人五月综合网| 免费无码一区二区| 国产精品亚洲аv无码播放| 性xxxxx大片免费视频| 亚洲乱人伦精品图片| 青青草国产免费久久久下载| 视频一区二区三区免费观看| 亚洲色自偷自拍另类小说| **一级毛片免费完整视| 中文字幕精品三区无码亚洲| 免费乱码中文字幕网站| 久久er国产精品免费观看2| 亚洲国产精品yw在线观看| 国产精品二区三区免费播放心| 中文字幕成人免费高清在线视频| 亚洲专区先锋影音| 永久免费视频v片www| 中国国产高清免费av片| 亚洲福利视频网站| 亚洲精品第一国产综合境外资源 | 欧洲美熟女乱又伦免费视频| 黄色网址免费在线观看| 亚洲伊人久久大香线蕉结合| 爱情岛论坛网亚洲品质自拍| 欧洲乱码伦视频免费|