有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java类型转换sql。日历日期

我有一些使用sql的代码。date对象以以下格式获取当前日期:yyyy-MM-dd。我想将其键入与sql格式相同的日历对象。日期

下面是sql的代码。日期:

java.util.Date now = new java.util.Date();

java.sql.Date sqlDate = new java.sql.Date( now.getTime() );

编辑:

我想知道如何将其放入日历对象中。甚至有可能做到这一点吗


共 (4) 个答案

  1. # 1 楼答案

    您可以使用以下代码段

    public class DateTest {
    
    public static void main(String[] arg){
    
        Calendar calendar = Calendar.getInstance();
        //setting a valid date
        Date date = new Date(113,07,10);
        //prints the date as per format
        System.out.println("Date in YYYY-MM-DD : " +date);
        //sets the calendar with the date value in java.sql.Date instance
        calendar.setTime(date);
        //use simple date formatter to format the value in calendar instance
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        System.out.println("Date formatted from Calendar instance : "+dateFormat.format(calendar.getTime()));
    }
    

    }

    请告诉我发生了什么

  2. # 2 楼答案

    使用SimpleDateFormat#format()

    System.out.println(new SimpleDateFormat("yyyy-MM-dd")
                       .format(Calendar.getInstance().getTime()));
    
  3. # 3 楼答案

    Java Date对象(注意^{}a ^{})没有“格式”。它们代表着时间的瞬间

    ^{}也没有“格式”

    你的要求在java中没有意义

    考虑使用^ {A4}将其中的一个格式化为字符串:

    String str = new SimpleDateFormat("yyyy-MM-dd").format(myDate);
    

    或者如果使用Calendar对象(不推荐):

    String str = new SimpleDateFormat("yyyy-MM-dd").format(myCalendar.getTime()); 
    
  4. # 4 楼答案

    Ajava.sql.Date没有格式。只是约会而已

    要将其转换为字符串,请使用带有相关格式集的SimpleDateFormatter,或者如果您确实需要yyyy-MM-dd,只需使用toString。(不幸的是,您不清楚应该使用哪个时区——java.sql.Date在这方面的记录非常糟糕。我怀疑它将使用默认的系统时区。)

    要创建具有给定日期的Calendar对象,只需使用:

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(sqlDate);
    

    同样地,Calendar也没有文本格式——它表示特定时区的特定日历系统中的一个时间点,但与文本表示无关