【问题标题】:How to convert data from Json to java如何将数据从 Json 转换为 java
【发布时间】:2018-07-26 20:57:19
【问题描述】:

我正在尝试通过 Ajax 调用获取 JSP 页面中的开始日期,但它作为 Json 对象返回,即 153452636268,我想将我的日期从 JSON 转换为 Java,请您帮忙。

$.ajax({
        type: "GET",
        url: "${pageContext.request.contextPath}" + "/status/id?city="+city,
        async: false,
        cache : false,
        contentType: "application/json",
        success: function (response) {
        var $tab = $("#Table");

        $tab.css("display", "inline");             
        $.each(response.statusId, function(index,statusDetail) {
                    $tab.append("<tr><td align='center'><input id='Radio"+index+"' name='statRadio' title='"+index+"' type='radio'/></td>"+
                                "<td id='productId"+index+"' align='center' style='display: none;'>"+statusDetail.key.StudId+"</td>"+                                   
                                "<td id='startDate"+index+"' align='center'>"+statusDetail.key.startDate+"</td></tr>");
                   // 
                });                
        },
        failure: function (response) {
            return; 
        },
        error: function (response) {
            return;
        }
    });

【问题讨论】:

  • 转换成java是什么意思?你是说javascript吗?该数字也是以毫秒为单位的时间戳,还是什么?
  • 我需要将日期转换为 java,目前它以 JSON 显示,我应该获取的正确日期是 2018-07-23 00:00:00.0,而不是它给我 1532318400000
  • 你这没道理的人。在这种情况下,“转换为 java”没有意义。您的 ajax 请求正在返回 json,并且您想将该数字转换成某种东西,但它不是 java。
  • 我该怎么做?

标签: jquery ajax jsp


【解决方案1】:

如果你有一个毫秒的变量,你可以把它交给 Date 构造函数来创建一个 Date 对象,你可以随意使用和操作它。

var milliseconds = 1532318400000;
                               //whatever variable holds your timestamp
var turnItIntoADate = new Date(milliseconds);

console.log(turnItIntoADate.toString());

我想强调的是,这些都不是 Java。这都是 Javascript。

如果您需要以特定方式格式化日期,可以查看相关问题:How to format a JavaScript date

【讨论】:

    【解决方案2】:
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    
    /**
     * @author Sumesh
     *
     */
    public class MillisToDate {
    
        public static void main(String args[]) {
    
           //Converting milliseconds to Date using java.util.Date
           //current time in milliseconds
           long currentDateTime = Long.parseLong("153452636268");
    
           //creating Date from millisecond
           Date currentDate = new Date(currentDateTime);
    
           //printing value of Date
           System.out.println("current Date: " + currentDate);
    
           DateFormat df = new SimpleDateFormat("dd:MM:yy:HH:mm:ss");
    
           //formatted value of current Date
           System.out.println("Milliseconds to Date: " + df.format(currentDate));
    
           //Converting milliseconds to Date using Calendar
           Calendar cal = Calendar.getInstance();
           cal.setTimeInMillis(currentDateTime);
           System.out.println("Milliseconds to Date using Calendar:"
                   + df.format(cal.getTime()));
    
           //copying one Date's value into another Date in Java
           Date now = new Date();
    
           System.out.println("original Date: " + df.format(now));
        }
    
    }
    

    希望这会对你有所帮助。

    【讨论】:

      【解决方案3】:
      In JSP page. You can use JSP Tag library. 
       <jsp:useBean id="dateObject" class="java.util.Date" /> <jsp:setProperty name="dateObject" property="time" value="${timeInMilliSeconds}" /> 
      
      Date is : 
      <b><fmt:formatDate value="${dateObject }" pattern="dd/MM/yyyy"><b> 
      Time is : 
      <b><fmt:formatDate value="${dateObject }" pattern="hh:mm a" /></b>
      
          output:
      
          Date is : 26/02/2018 Time is : 06:27 PM
      

      【讨论】:

        猜你喜欢
        • 2014-03-01
        • 2017-05-08
        • 2022-11-23
        • 2020-05-29
        • 1970-01-01
        • 2010-12-13
        • 2013-02-26
        • 2021-04-29
        相关资源
        最近更新 更多