输入xxxx-xx-xx格式的日期可查询当日万年历

本文介绍了一个简单的网页应用案例,通过Ajax技术实现从服务器动态获取指定日期的万年历信息,并以表格形式展示出来。具体包括该日期的忌讳、属相、星期、适宜事项及本命年等。
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="jquery-1.8.2.min.js"></script>
</head>
<body>
<center>
    <input type="text" name="year"/><button>显示万年历信息</button>
    <div></div>
</center>
</body>
</html>
<script>
    $(function(){
        $("button").click(function(){
            var address=$("input").val();
            $.ajax({
                type:"get",
                url:"http://localhost/Year.php",
                data:{
                    address:address
                },
                dataType:"json",
                success:function(data){
                    var str="";
                    str+="<table border='1'>";
                    for(var i=0;i<data.length;i++){
                        str+="<tr>";
                        str+="<td>忌讳</td>";
                        str+="<td>"+data[i].avoid+"</td>";
                        str+="</tr>";
                        str+="<tr>";
                        str+="<td>属相</td>";
                        str+="<td>"+data[i].animalsYear+"</td>";
                        str+="</tr>";
                        str+="<tr>";
                        str+="<td>星期</td>";
                        str+="<td>"+data[i].weekday+"</td>";
                        str+="</tr>";
                        str+="<tr>";
                        str+="<td>适宜</td>";
                        str+="<td>"+data[i].suit+"</td>";
                        str+="</tr>";
                        str+="<tr>";
                        str+="<td>本命年</td>";
                        str+="<td>"+data[i].lunarYear+"</td>";
                        str+="</tr>";
                    }
                    str+="</table>";
                    $("div").html(str);
                }
            })
        })
    })
</script>




<?php
header("content-type:text/html;charset=utf-8");
$address=$_GET['address'];
//$address="2016-8-9";
$url="http://japi.juhe.cn/calendar/day?date={$address}&key=2a45eeeee6d10d95579e5651f2694594";
$str=file_get_contents($url);
$arr = json_decode($str,true);
unset($arr['error_code']);
unset($arr['reason']);
unset($arr['date']);
foreach($arr as $kk=>$vv){
    foreach($vv as $kkk=>$vvv){
        $list[]=$vvv;
    }
}
echo json_encode($list);


?>

<think> 我们需要获取今天和明天的日期,并格式化为"xxxx-xx-xx"的字符串格式(例如:2023-08-01)。 在Java中,我们可以使用java.time包下的LocalDate类(Java 8及以上版本)来轻松处理日期。 步骤: 1. 获取今天的日期:LocalDate.now() 2. 获取明天的日期:今天的日期加1天 3. 使用DateTimeFormatter来格式日期,模式为"yyyy-MM-dd" 注意:为了安全性和可读性,我们使用DateTimeFormatter.ofPattern("yyyy-MM-dd")来创建格式化器。 代码实现如下: </think> 在Java中,可以使用`java.time`包(Java 8及以上)高效处理日期。以下是获取并格式化今天和明天日期的代码: ```java import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateExample { public static void main(String[] args) { // 获取今天和明天的日期 LocalDate today = LocalDate.now(); LocalDate tomorrow = today.plusDays(1); // 定义格式化器 (xxxx-xx-xx 格式) DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 格式日期 String todayFormatted = today.format(formatter); String tomorrowFormatted = tomorrow.format(formatter); System.out.println("今天: " + todayFormatted); System.out.println("明天: " + tomorrowFormatted); } } ``` ### 关键解释: 1. **`LocalDate`类** - 线程安全的日期对象,仅包含年月日(无时间信息) - `now()`静态方法获取当前系统日期(基于默认时区) 2. **日期计算** - `plusDays(1)`方法在当前日期上加1天,自动处理闰年和月末边界(如2023-12-31加1天→2024-01-01) 3. **格式化** - `DateTimeFormatter`指定模式: - `yyyy`:4位年份(如2023) - `MM`:2位月份(不足两位补零) - `dd`:2位日期(不足两位补零) - `format()`方法将日期对象转换为字符串 ### 时区说明: - 默认使用系统时区,如需指定时区: ```java LocalDate.now(ZoneId.of("Asia/Shanghai")) ``` ### 替代方案(遗留代码): ```java // 不推荐:SimpleDateFormat非线程安全 DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); String todayLegacy = df.format(new Date()); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luyaran

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值