質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.49%

日付のフォーマットの変更について

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 686

score 5

public BuyDataBeans refer(String id) {
        Connection conn = null;
        try {
            conn = DBManager.getConnection();
            String sql ="select \r\n" + 
                    "t_buy.id,\r\n" + 
                    "t_buy.user_id,\r\n" + 
                    "t_buy.total_price,\r\n" + 
                    "t_buy.delivery_method_id,\r\n" + 
                    "t_buy.create_date,\r\n" + 
                    "t_buy_detail.buy_id \r\n" + 
                    "from \r\n" + 
                    "t_buy \r\n" + 
                    "inner join \r\n" + 
                    "t_buy_detail \r\n" + 
                    "on \r\n" + 
                    "t_buy.id = t_buy_detail.buy_id \r\n" + 
                    "where t_buy_detail.buy_id = ?\r\n" + 
                    "group by t_buy.id ";
            PreparedStatement pStmt = conn.prepareStatement(sql);
            pStmt.setString(1,id);

            ResultSet rs = pStmt.executeQuery();
            if (!rs.next()) {
                return null;
            }



            int formatTotalPrice= rs.getInt("total_price");
            Timestamp name2 = rs.getTimestamp("create_date");


            return new BuyDataBeans(formatTotalPrice,name2);

        } catch (SQLException e) {

            e.printStackTrace();
        } finally {

            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();

                }
            }
        }


        return null;

    }
      public static void main(String[] args) {
        Calendar cl = Calendar.getInstance();

        // SimpleDateFormatクラスを使用して、パターンを設定する
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
        System.out.println(sdf.format(cl.getTime())); 
    }
package beans;

import java.io.Serializable;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * 購入データ
 * @author d-yamaguchi
 *
 */
public class BuyDataBeans  implements Serializable {
    private int id;
    private int userId;
    private int totalPrice;
    private int delivertMethodId;
    private Date buyDate;
    private Date create_date;

    private String deliveryMethodName;
    private int deliveryMethodPrice;
    private String name;
    private int item_id;
    private int price;









    public BuyDataBeans(int id2, int user_id, int total_price, String delivertMethodname, java.sql.Date create_date2) {
     this.id = id2;
     this.userId = user_id;
     this.totalPrice = total_price;
     this.deliveryMethodName = delivertMethodname;
     this.create_date = create_date2;
}




    public BuyDataBeans(java.sql.Date create_date2, String delivertMethodname, int total_price) {
        this.create_date = create_date2;
        this.deliveryMethodName = delivertMethodname;
        this.totalPrice = total_price;
        // TODO 自動生成されたコンストラクター・スタブ
    }






    public BuyDataBeans(String name2, int price2) {
        this.name = name2;
        this.setPrice(price2);
    }











    public BuyDataBeans() {
        // TODO 自動生成されたコンストラクター・スタブ
    }












    public BuyDataBeans(int formatTotalPrice, Timestamp name2) {
        this.totalPrice = formatTotalPrice;
        this.create_date = name2;
    }




    public BuyDataBeans(String name2) {
        this.name = name2;
    }




    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getUserId() {
        return userId;
    }
    public void setUserId(int userId) {
        this.userId = userId;
    }
    public int getTotalPrice() {
        return totalPrice;
    }
    public void setTotalPrice(int totalPrice) {
        this.totalPrice = totalPrice;
    }


    public int getDelivertMethodId() {
        return delivertMethodId;
    }
    public void setDelivertMethodId(int delivertMethodId) {
        this.delivertMethodId = delivertMethodId;
    }
    public Date getBuyDate() {
        return buyDate;
    }
    public void setBuyDate(Date buyDate) {
        this.buyDate = buyDate;
    }
    public String getDeliveryMethodName() {
        return deliveryMethodName;
    }
    public void setDeliveryMethodName(String deliveryMethodName) {
        this.deliveryMethodName = deliveryMethodName;
    }

    public String getFormatDate() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH時mm分");
        return sdf.format(buyDate);
    }

    public String getFormatTotalPrice() {
        return String.format("%,d", this.totalPrice);
    }
    public int getDeliveryMethodPrice() {
        return deliveryMethodPrice;
    }
    public void setDeliveryMethodPrice(int deliveryMethodPrice) {
        this.deliveryMethodPrice = deliveryMethodPrice;
    }





    public Date getCreate_date() {
        return create_date;
    }





    public void setCreate_date(Date create_date) {
        this.create_date = create_date;
    }





    public String getName() {
        return name;
    }





    public void setName(String name) {
        this.name = name;
    }





    public int getItem_id() {
        return item_id;
    }





    public void setItem_id(int item_id) {
        this.item_id = item_id;
    }




    public int getPrice() {
        return price;
    }




    public void setPrice(int price) {
        this.price = price;
    }







}


初めて投稿させていただきます
よろしくお願いします。
日付のフォーマットの変更についてどうすればいいかなやんでいます
データベースのほうにはcreate_dateとして登録をしています。
それを
public String getFormatDate() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH時mm分");
return sdf.format(buyDate);
}
の所のように変換したいのですが2020-01-25 00:53:06.0というふうに出力していしまいます
Timestamp name2 = rs.getTimestamp("create_date");が原因だとはわかっているのですがどのように書けばいいか悩んでいます
ご回答ありがとうございます
参考資料を見させていただいたのですが
使い方、意味がよく理解できませんでした
上のDAOでも編集いたしましたがDAOの中で使うということでしょうか?
至らない所が多いいとは思いますがご回答お願いします

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • dodox86

    2020/01/26 03:55 編集

    やりたいことが少し分からないのですが、どこに出力したときのお話でしょうか。
    DBのcreate_dateはbeanの内容からして java.sql.Date(インスタンスフィールドはjava.util.Date)ですが、DBの種類は分からないものの、DBのカラムもそれに沿ってDATETIME型やTIMESTAMP型のようなものだと推察します。SELECT文でDBから読み込んだ後、htmlや画面に表示出力するときにSimpleDateFormat("yyyy年MM月dd日HH時mm分")のような形で変換して出力したい、と言う意味でしょうか。

    キャンセル

  • dodox86

    2020/01/26 04:02

    提示されたコードの中で、"// この部分でこの値をこんな感じで出力したい" とのようにコメントすると、やりたいことが明確になると思います。他回答者さんらにとっても要望を把握しやすいかと。あと、コード中の無用な空行が多くて読みづらいと思いますので、整理してもらえるとより良いです。

    キャンセル

  • satosi.kikeo

    2020/01/26 08:51

    ご回答、ご指摘ありがとうございました。
    要点の整理など今後気を付けようとおもいます。
    問題は解決できました。
    ありがとうございました

    キャンセル

回答 1

checkベストアンサー

0

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る