• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

一个简单编程思想在php与java中的实现比较:日期类!

发布: 2007-7-01 15:06 | 作者: admin | 来源: | 查看: 43次 | 进入软件测试论坛讨论

领测软件测试网 以前用PHP时写了一个简单的class,功能主要是解决,大量页面上需要显示下拉列表框选择年/月/日/周之类的。希望对大家学习PHP和java能有帮助。

php的实现如下:
getCurrentDate.class.php
<?php
/*
* 功能:生成下拉列表(年/月/日/周为当前值)
* 程序员:xiangli
* 日期:2003-01-19
*/

#---------------------------------------------------#
# 修改:2003-03-18                                  #
# 修改原因:添加了周的生成                            #
#-------------------------------------------------#

class getCurrentDate{
  var    $Years = 2002;
  var    $Months = 12;
  var    $Days = 31;
  var    $Weeks = 52;
  
    /*获得年的下拉列表*/
    function getCurrentYear()
    {
        for ($i = Date(@#Y@#); $i >= $this->Years; $i--)
        {
            echo "<option value=@#$i@#>{$i}年</option>\n";
        }
    }

    /*获得月的下拉列表*/
    function getCurrentMonth()
    {
        for ($i = 1; $i <= $this->Months; $i++)
        {
            ($i<10)?($m="0".$i):($m=$i);            
            if($i == date(@#m@#))
                echo "<option value=@#$m@# selected>{$m}月</option>\n";
            else
                echo "<option value=@#$m@#>{$m}月</option>\n";
        }
    }

    /*获得日的下拉列表*/
    function getCurrentDay()
    {
        for ($i = 1; $i <= $this->Days; $i++){
            if($i == date(@#d@#))
                echo "<option value=@#$i@# selected>{$i}日</option>\n";
            else
                echo "<option value=@#$i@#>{$i}日</option>\n";
        }
    }
    
    /*获得周的下拉列表*/
    function getCurrentWeek()
    {
        for ($i = 1; $i <= $this->Weeks; $i++){
            if($i == date(@#W@#))
                echo "<option value=@#$i@# selected>{$i}周</option>\n";
            else
                echo "<option value=@#$i@#>{$i}周</option>\n";
        }
    }    
}
?>

调用如下:
includ("../public/getCurrentDate.class.php");
$getCurrentDate = net getCurrentDate();
<select name ="xxxxx">
<?=$getCurrentDate->getCurrentYear()?>
</select>
//////////////////////////////////////////////////////////


java的实现方法:
getCurrentDate.java
/*
* 功能:生成下拉列表(年/月/日/周为当前值)
* 程序员:xiangli
* 日期:2003-01-19
*/

// #---------------------------------------------------#
// # 修改:2003-03-18                                 #
// # 修改原因:添加了周的生成                         #
// #-------------------------------------------------#

import java.io.*;
import java.util.*;
import java.text.*;

public class getCurrentDate {
  public int Years = 2002;
  public int Months = 12;
  public int Days = 31;
  public int Weeks = 52;
  Date myDate = new Date();
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd w");
  
    /*获得年的下拉列表*/
    public String getCurrentYear()
    {
        String Content = "";
        for (int i =  Integer.parseInt(formatter.format(myDate).toString().substring(0, 4)); i >= Years; i--)
        {
            Content += "<option value=@#" + i + "@#>" + i + "年</option>\n";
             
        }
        return Content;
    }

    /*获得月的下拉列表*/
    public String getCurrentMonth()
    {
        String m;
        String Content = "";
        
        for (int i = 1; i <= Months; i++)
        {
            m=i<10?("0" + i):Integer.toString(i);
            if(i == Integer.parseInt(formatter.format(myDate).toString().substring(5, 7)))
                Content += "<option value=@#" + m + "@# selected>" + m + "月</option>\n";
            else
                Content += "<option value=@#" + m + "@#>" + m + "月</option>\n";
        }
        return Content;
    }

    /*获得日的下拉列表*/
    public String getCurrentDay()
    {
        String Content = "";
        String m;
        
        for (int i = 1; i <= Days; i++){
            m=i<10?("0" + i):Integer.toString(i);
            if(i == Integer.parseInt(formatter.format(myDate).toString().substring(8, 10)))
                Content += "<option value=@#" + m + "@# selected>" + m + "日</option>\n";
            else
                Content += "<option value=@#" + m + "@#>" + m + "日</option>\n";
        }
        return Content;
    }
    
    /*获得周的下拉列表*/
    public String getCurrentWeek()
    {
        String Content = "";
        String m;
        
        for (int i = 1; i <= Weeks; i++){
            m=i<10?("0" + i):Integer.toString(i);
            if(i == Integer.parseInt(formatter.format(myDate).toString().substring(11)))
                Content += "<option value=@#" + m + "@# selected>" + m + "周</option>\n";
            else
                Content += "<option value=@#" + m + "@#>" + m + "周</option>\n";
        }
        return Content;
    }    
}


调用方法:
<jsp:useBean id="getCurrentDate" scope="session" class="getCurrentDate" />
<select name="Years">
<%=getCurrentDate.getCurrentYear()%>
</select>
<select name="Months">
<%=getCurrentDate.getCurrentMonth()%>
</select>
<select name="Days">
<%=getCurrentDate.getCurrentDay()%>
</select>
<select name="Weeks">
<%=getCurrentDate.getCurrentWeek()%>
</select> 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网