软件开发常用日期格式

合集下载

java日期格式

java日期格式

在开发有关日历的应用程序时,不规则的每月日期数、每周天数和周末的计算一直是个很费脑筋的问题。

结果,日期和时间的编程经常令程序员新手畏缩不前。

本文将演示在JSP应用程序中日期的用法,为读者完成某些常见任务提供方便的参考。

目的示例应用程序的目的是:通过HTML表单把日期参数提交某个JSP页来处理。

接收日期参数并创建Calendar对象。

采用Calendar对象找出提交的日期是一周的第几天以及选中月份里有多少工作日。

用用户易于阅读的显示格式对日期格式化。

环境示例程序代码在Java Web服务器上接受测试,该服务器配置了JDK 1.31。

示例写得很标准,在Tomcat或者其他JSP Web服务器(JDK 1.2或者以后版本)上运行的效果几乎完全一样。

通过表单把日期传递给JSP页Date(日期)参数是用户从3栏下拉列表中选出来的。

用户提交表单之后,这些参数即被传送给处理页面。

在进行日历编程时不要忘了导入java.util.Calendar:〈%@ page import="java.util.Calendar" %〉处理页面的第1个任务是接收以下日期参数值:Date、Month和Year。

int curDate = 1;if(request.getParameter("curDate") != null){curDate = Integer.parseInt(request.getParameter("curDate"));}注意页面参数被转换为int类型,马上我们就知道为什么要这么做了。

Calendar对象我们的目标是创建和设置一个Calendar对象,用它进行日期计算。

为此,我们首先需要实例化一个Calendar对象。

Calendar cal = Calendar.getInstance();Calendar.getInstance()返回一个代表当前日期和时间的Calendar对象。

Java时间日期处理技巧:日期格式化和时区设置

Java时间日期处理技巧:日期格式化和时区设置

Java时间日期处理技巧:日期格式化和时区设置在Java编程中,日期和时间处理是非常常见的任务。

无论是在开发Web应用程序、处理数据还是进行系统日志记录,都需要对日期和时间进行操作。

本文将介绍一些Java中常用的日期格式化和时区设置的技巧,帮助开发者更好地处理日期和时间。

1. 日期格式化日期格式化是将日期对象转换为特定格式的字符串表示。

Java提供了SimpleDateFormat类来实现日期格式化。

以下是一个简单的例子:```javaimport java.text.SimpleDateFormat;import java.util.Date;public class DateFormatExample {public static void main(String[] args) {Date date = new Date();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String formattedDate = sdf.format(date);System.out.println("Formatted Date: " + formattedDate);}}```在上面的例子中,我们使用了"yyyy-MM-dd HH:mm:ss"作为日期格式化的模式,它将日期格式化为"年-月-日时:分:秒"的形式。

Java的日期格式化模式有很多选项,可以根据需求进行调整。

例如,"yyyy-MM-dd"表示"年-月-日","HH:mm:ss"表示"时:分:秒","EEE"表示星期几等等。

更多的格式化选项可以参考Java官方文档。

2. 时区设置时区是指地球上划分的不同区域,每个时区都有自己的标准时间。

java之Date(日期)、Date格式化、Calendar(日历)

java之Date(日期)、Date格式化、Calendar(日历)

java之Date(⽇期)、Date格式化、Calendar(⽇历)参考Date(⽇期)Date类注意:是java.util.Date;⽽⾮ java.sql.Date,此类是给数据库访问的时候使⽤的时间原点概念所有的数据类型,⽆论是整数,布尔,浮点数还是字符串,最后都需要以数字的形式表现出来。

⽇期类型也不例外,换句话说,⼀个⽇期,⽐如2020年10⽉1⽇,在计算机⾥,会⽤⼀个数字来代替。

那么最特殊的⼀个数字,就是零. 零这个数字,就代表Java中的时间原点,其对应的⽇期是1970年1⽉1⽇ 8点0分0秒。

(为什么是8点,因为中国的太平洋时区是UTC-8,刚好和格林威治时间差8个⼩时)为什么对应1970年呢?因为1969年发布了第⼀个 UNIX 版本:AT&T,综合考虑,当时就把1970年当做了时间原点。

所有的⽇期,都是以为这个0点为基准,每过⼀毫秒,就+1。

创建⽇期对象package date;//import java.util.Date;public class TestDate {public static void main(String[] args) {// 当前时间Date d1 = new Date();System.out.println("当前时间:");System.out.println(d1);System.out.println();// 从1970年1⽉1⽇早上8点0分0秒开始经历的毫秒数Date d2 = new Date(5000);System.out.println("从1970年1⽉1⽇早上8点0分0秒开始经历了5秒的时间");System.out.println(d2);}}getTimegetTime() 得到⼀个long型的整数这个整数代表从1970.1.1 08:00:00:000 开始每经历⼀毫秒,增加1package date;//import java.util.Date;//注意:是java.util.Date;//⽽⾮ java.sql.Date,此类是给数据库访问的时候使⽤的Date now= new Date();//打印当前时间System.out.println("当前时间:"+now.toString());//getTime() 得到⼀个long型的整数//这个整数代表 1970.1.1 08:00:00:000,每经历⼀毫秒,增加1System.out.println("当前时间getTime()返回的值是:"+now.getTime());Date zero = new Date(0);System.out.println("⽤0作为构造⽅法,得到的⽇期是:"+zero);}}System.currentTimeMillis()当前⽇期的毫秒数new Date().getTime() 和 System.currentTimeMillis() 是⼀样的不过由于机器性能的原因,可能会相差⼏⼗毫秒,毕竟每执⾏⼀⾏代码,都是需要时间的package date;//import java.util.Date;public class TestDate {public static void main(String[] args) {Date now= new Date();//当前⽇期的毫秒数System.out.println("Date.getTime() \t\t\t返回值: "+now.getTime());//通过System.currentTimeMillis()获取当前⽇期的毫秒数System.out.println("System.currentTimeMillis() \t返回值: "+System.currentTimeMillis());}}练习-⽇期借助,创建⼀个从1995.1.1 00:00:00 到 1995.12.31 23:59:59 之间的随机⽇期package date;import java.util.Date;import java.text.ParseException;import java.text.SimpleDateFormat;public class Test2 {public static void main(String[] args) throws ParseException {String startStr = "1995.1.1 00:00:00";String endStr = "1995.12.31 23:59:59";SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd HH:mm:ss");Date start = sdf.parse(startStr);Date end = sdf.parse(endStr);long random = (long)(Math.random() * (end.getTime() - start.getTime()) + start.getTime());System.out.println(new Date(random));}}Date格式化⽇期转字符串SimpleDateFormat ⽇期格式化类package date;//import java.text.SimpleDateFormat;import java.util.Date;//y 代表年//M 代表⽉//d 代表⽇//H 代表24进制的⼩时//h 代表12进制的⼩时//m 代表分钟//s 代表秒//S 代表毫秒SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS" );Date d= new Date();String str = sdf.format(d);System.out.println("当前时间通过 yyyy-MM-dd HH:mm:ss SSS 格式化后的输出: "+str);SimpleDateFormat sdf1 =new SimpleDateFormat("yyyy-MM-dd" );Date d1= new Date();String str1 = sdf1.format(d1);System.out.println("当前时间通过 yyyy-MM-dd 格式化后的输出: "+str1);}}字符串转⽇期模式(yyyy/MM/dd HH:mm:ss)需要和字符串格式保持⼀致,如果不⼀样就会抛出解析异常ParseException package date;//import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class TestDate {public static void main(String[] args) {SimpleDateFormat sdf =new SimpleDateFormat("yyyy/MM/dd HH:mm:ss" );String str = "2016/1/5 12:12:12";try {Date d = sdf.parse(str);System.out.printf("字符串 %s 通过格式 yyyy/MM/dd HH:mm:ss %n转换为⽇期对象: %s",str,d.toString());} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}练习-⽇期格式化准备⼀个长度是9的⽇期数组使⽤1970年-2000年之间的随机⽇期初始化该数组按照这些⽇期的时间进⾏升序排序⽐如 1988-1-21 12:33:22 就会排在 1978-4-21 19:07:23 前⾯,因为它的时间更⼩,虽然⽇期更⼤public static void test2() throws ParseException {SimpleDateFormat sdf = new SimpleDateFormat("yyyy");Date startDate = sdf.parse("1970");Date endDate = sdf.parse("2000");long difference = endDate.getTime() - startDate.getTime();Date[] dateArr = new Date[9];System.out.println("排序前随机时间数组为:");//3⾏3列打印该随机时间数组for (int i = 0; i < dateArr.length; i++) {Date date = new Date((long) (Math.random() * difference + startDate.getTime()));dateArr[i] = date;//System.out.print(sdf.format(date)+" ");System.out.printf(date + "");if ((i + 1) % 3 == 0) {System.out.println();}}SimpleDateFormat sdf2 = new SimpleDateFormat("HHmmss");for (int i = 0; i < dateArr.length - 1; i++) {for (int j = i + 1; j < dateArr.length; j++) {String str1 = sdf2.format(dateArr[i]);int num1 = Integer.parseInt(str1);String str2 = sdf2.format(dateArr[j]);int num2 = Integer.parseInt(str2);if (num1 > num2) {Date temp = dateArr[i];dateArr[i] = dateArr[j];dateArr[j] = temp;}}}System.out.println("排序后随机时间数组为:");//3⾏3列打印该随机时间数组for (int i = 0; i < dateArr.length; i++) {//System.out.print(sdf.format(dateArr[i]));System.out.printf(dateArr[i] + "");if ((i + 1) % 3 == 0) {System.out.println();}}}Calendar(⽇历)Calendar类即⽇历类,常⽤于进⾏“翻⽇历”,⽐如下个⽉的今天是多久Calendar与Date进⾏转换package date;//import java.util.Calendar;import java.util.Date;public class TestDate {public static void main(String[] args) {//采⽤单例模式获取⽇历对象Calendar.getInstance();Calendar c = Calendar.getInstance();//通过⽇历对象得到⽇期对象Date d = c.getTime();Date d2 = new Date(0);c.setTime(d2); //把这个⽇历,调成⽇期 : 1970.1.1 08:00:00}}翻⽇历add⽅法,在原⽇期上增加年/⽉/⽇set⽅法,直接设置年/⽉/⽇package date;import java.text.SimpleDateFormat;//import java.util.Calendar;import java.util.Date;public class TestDate {private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");public static void main(String[] args) {Calendar c = Calendar.getInstance();Date now = c.getTime();// 当前⽇期System.out.println("当前⽇期:\t" + format(c.getTime()));// 下个⽉的今天c.setTime(now);c.add(Calendar.MONTH, 1);System.out.println("下个⽉的今天:\t" +format(c.getTime()));// 去年的今天c.setTime(now);c.add(Calendar.YEAR, -1);System.out.println("去年的今天:\t" +format(c.getTime()));// 上个⽉的第三天c.setTime(now);c.add(Calendar.MONTH, -1);c.set(Calendar.DATE, 3);System.out.println("上个⽉的第三天:\t" +format(c.getTime()));}private static String format(Date time) {return sdf.format(time);}}练习-Calendar找出下个⽉的倒数第3天是哪天//找出下个⽉的倒数第3天是哪天public static void test4() {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calendar.getInstance();//⽇历类采⽤了单例模式c.add(Calendar.MONTH, 1);int month = c.get(Calendar.MONTH);while (c.get(Calendar.MONTH) == month) {c.add(Calendar.DATE, 1);System.out.println("c.add(DATE,1)结果:" + sdf.format(c.getTime()));}c.add(Calendar.DATE, -3);System.out.println("下个⽉的倒数第三天:" + sdf.format(c.getTime()));}。

与众不同的Java日期格式化大全

与众不同的Java日期格式化大全

与众不同的Java⽇期格式化⼤全前⾔在 Java 中,经常要将时间字符串转换为⽇期,或者要将⽇期转换为时间字符串。

这种操作⼀般都是⽤java.text.SimpleDateFormat 类处理。

例如要将⽇期转换为时间字符串,那么就⽤下⾯的代码。

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())得到的结果是2018-11-25 17:57:40其中 "yyyy-MM-dd HH:mm:ss" 这部分叫做时间模式,是由⼀些固定的字符组合来指定的。

java.text.SimpleDateFormat 可以根据这个模式调⽤ format ⽅法把时间对象格式化为符合模式的字符串,也可以根据这个模式调⽤ parse 来把⼀个符合模式的字符串解析为时间对象。

但是⼀直以来,这个⽤法都不太系统,所以对他的⽤法总结⼀下,希望对⼤家有帮助。

java.text.SimpleDateFormat 模式字符串下表是⽀持的时间模式的字符串字符含义G年代标志符y年M⽉d⽇h时在上午或下午(1~12)H时在⼀天中(0~23)m分s秒S毫秒E星期D⼀年中的第⼏天F⼀⽉中第⼏个星期⼏w⼀年中第⼏个星期W⼀⽉中第⼏个星期a上午/下午标记符k时在⼀天中(1~24)K时在上午或下午(0~11)z时区给出⼀个较完整的例⼦如下System.out.println(new SimpleDateFormat("G y-M-d Z E H:m:s:S a").format(new Date()));输出结果为公元 2018-11-26 +0800 星期⼀ 18:3:42:236 下午其中“公元”是年代,“ 2018-11-26”是格式化的年⽉⽇,“+0800” 是当前时区设置,“星期⼀”是星期,“17:32:11:099”是带毫秒的时间,“下午”是上下午标志。

Java日期格式大全

Java日期格式大全

日期和时间模式日期和时间格式由日期和时间模式字符串指定。

在日期和时间模式字符串中,未加引号的字母'A'到'Z'和'a'到'z'被解释为模式字母,用来表示日期或时间字符串元素。

文本可以使用单引号(')引起来,以免进行解释。

"''"表示单引号。

所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。

定义了以下模式字母(所有其他字符'A'到'Z'和'a'到'z'都被保留):字母日期或时间元素表示示例G Era标志符Text ADM年中的月份Month July;Jul;07W月份中的周数Number2d月份中的天数Number10E星期中的天数Text Tuesday;TueH一天中的小时数(0-23)Number0K am/pm中的小时数(0-11)Number0m小时中的分钟数Number30S毫秒数Number978Z时区RFC822timezone-0800示例以下示例显示了如何在美国语言环境中解释日期和时间模式。

给定的日期和时间为美国太平洋时区的本地时间2001-07-0412:08:56。

日期和时间模式结果"yyyy.MM.dd G'at'HH:mm:ss z"2001.07.04AD at12:08:56PDT"EEE,MMM d,''yy"Wed,Jul4,'01"h:mm a"12:08PM"hh'o''clock'a,zzzz"12o'clock PM,Pacific Daylight Time "K:mm a,z"0:08PM,PDT"yyyyy.MMMMM.dd GGG hh:mm aaa"02001.July.04AD12:08PM"EEE,d MMM yyyy HH:mm:ss Z"Wed,4Jul200112:08:56-0700 "yyMMddHHmmssZ"010*********-0700"yyyy-MM-dd'T'HH:mm:ss.SSSZ"2001-07-04T12:08:56.235-0700同步日期格式是不同步的。

数据库年月格式 -回复

数据库年月格式 -回复

数据库年月格式-回复数据库年月格式是指在数据库中存储日期和时间信息时所采用的格式。

在很多应用中,时间信息是非常重要的,例如在金融领域中需要存储交易时间,在物流领域中需要存储订单配送时间等等。

因此,在数据库中需要使用一种标准的格式来表示和处理时间。

数据库年月格式主要有两种常见的表示形式,即日期时间格式和时间戳格式。

日期时间格式是指按照年、月、日、时、分、秒的顺序表示时间的一种格式。

常见的日期时间格式有"YYYY-MM-DD HH:MM:SS"和"YYYY-MM-DD"两种。

其中,"YYYY"表示4位年份,"MM"表示2位月份,"DD"表示2位日,"HH"表示24小时制的2位小时,"MM"表示2位分钟,"SS"表示2位秒。

在数据库中使用日期时间格式存储时间信息的优点在于能够提供更详细的时间精度,能够满足各种精确度要求的应用场景。

例如,在金融交易系统中,每一笔交易的发生时间都是至关重要的,需要精确到毫秒级别。

而通过日期时间格式存储时间信息,可以满足这种精确度要求。

另一种常见的数据库年月格式是时间戳格式。

时间戳是一种表示时间的数字,表示从某个固定的时间点(通常是1970年1月1日00:00:00)开始到当前时间的秒数(或者毫秒数)。

时间戳格式的优点在于节省存储空间,因为时间戳只是一个数字,相对于日期时间格式所需要的字符空间较小。

使用时间戳格式存储时间信息的一个常见的应用场景是网络日志分析。

在大规模的网站中,产生的日志非常多,如果使用日期时间格式存储每条日志的时间信息,将会占用大量的存储空间。

而时间戳格式只需存储一个数字,因此可以减小存储空间的使用量。

尽管时间戳格式在存储空间上具有优势,但它并不能提供与日期时间格式一样的时间精度。

时间戳通常只能精确到秒级别或毫秒级别,无法提供更细粒度的时间精度。

年月日时分秒毫秒正则

年月日时分秒毫秒正则

年月日时分秒毫秒正则正则表达式在日常代码开发中发挥很大的作用,其中涉及到的日期格式在很多场景下都是必不可少的,比如我们常常需要在系统中进行日期校验、数据转换、数据比对等操作,而日期格式也千变万化,例如yyyy-MM-dd、yyyy年MM月dd日、MM/dd/yyyy等等,因此对于日期格式的正则表达式的学习是非常有必要的。

日期格式中最常见的有年月日时分秒毫秒,这里我们来分别介绍一些常见的日期格式。

1.年月日格式:yyyy-MM-dd年月日格式是最基本的日期格式之一,通常用于各种系统中的时间戳或者日期显示操作。

其中,年份使用四位数字,月份和日期使用两位数字,之间用“-”或者“/”分隔开来。

正则表达式:^(\\d{4})-(\\d{2})-(\\d{2})$解释:^和$符号表示对整个字符串进行匹配,而\\d表示数字,{4}表示匹配4个数字,{2}表示匹配两个数字。

2.年月日格式:yyyy年MM月dd日年月日格式也可以使用中文符号,此种格式通常用于一些公文或其他需要规范化的场所。

其中,年份使用四位数字,月份和日期使用两位数字,中间使用汉字“年”、“月”、“日”隔开来。

正则表达式:^(\\d{4})年(\\d{2})月(\\d{2})日$解释:采用了中文汉字,这里需要额外加上“年”、“月”、“日”等字样进行匹配。

3.时分秒格式:HH:mm:ss时分秒格式通常用于一些具体时间的表示,在系统实现中也应用非常广泛。

其中,HH表示小时,mm表示分钟,ss表示秒。

正则表达式:^(\\d{2}):(\\d{2}):(\\d{2})$解释:这里采用了冒号来分隔时分秒,数字的规则同样使用了{2}的表示方法。

4.时分秒毫秒格式:HH:mm:ss:SSS时分秒毫秒格式也通常用于精确的时间刻度操作,这种格式中还需要加入毫秒的表示,比如精确到欧洲标准时间(UTC)的一千分之一秒,常常用于计时器、跑表等场景。

正则表达式:^(\\d{2}):(\\d{2}):(\\d{2}):(\\d{3})$解释:与时分秒格式的规则相同,中间放置毫秒,也是采用冒号进行分隔。

Java中日期的格式

Java中日期的格式

Java中日期的格式1、java.util.Date类用于表示日期和时间,要获取当前时间,可以使用下面的代码:1.Date d = new Date();2.System.out.println(d.toString());下面是输出的结果:Mon Feb 06 15:45:47 CST 2006如果想按照特定的格式进行输出,可以按照下面的方法完成,但是现在的版本中建议不要使用。

1.int year = d.getYear()+1900;2.int month = d.getMonth()+1;3.int date = d.getDate();4.int hour = d.getHours();5.int minute = d.getMinutes();6.int second = d.getSeconds();7.System.out.println(year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second);执行的结果如下:2006-2-6 15:52:31如果想根据年月日来确定一个Date对象可以先创建一个对象,然后使用setter方法来完成,例如:setYear(int)、setMonth(int)等,当然这些方法也是建议不使用。

如果想对时间进行比较灵活的处理可以使用DateFormat和SimpleDateFormat。

如果想按照下面的格式进行输出:2006年02月06日 16点05分37秒可以使用下面的代码:1.DateFormat df = new SimpleDateFormat("yyyy年MM月dd日 hh点mm分ss秒");2.String str = df.format(d);3.System.out.println(str);格式中yyyy表示年份,可以写2位,MM表示月份,可以写1位,dd表示日,可以写1位,hh表示小时,mm表示分钟(注意大小写),ss表示秒。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件系统常用日期格式
系统规则
注意:在书写时大括号之间变量不能有空格.
时间常规显示格式:
日期统一显示格式:YYYY-MM-DD
日期时间统一显示格式:YYYY-MM-DD HH:NN:SS
时间统一显示格式:HH:NN:SS
系统变量:
{CurrDate}表示:系统当前日期;
{CurrDateTime}表示:系统当前日期时间;
{CurrTime}表示:系统当前时间;
{CurrYear}表示:系统当前年;
{CurrMonth}表示:系统当前月;
{CurrDay}表示:系统当前天;
{CurrHour}表示:系统当前小时;
{CurrMinute}表示:系统当前分钟;
{CurrSecond}表示:系统当前秒;
{CurrUserId}表示:当前用户id
{CurrUserName}表示:当前用户姓名
{CurrUserDeptId}表示:当前用户部门id
{CurrUserDeptName}表示:当前用户部门名称
{CurrUserSubCompanyId}表示:当前用户所在分部Id {CurrUserSubCompanyName}表示:当前用户所在分部名称{CurrUserSubCompanyCode}表示:当前用户所在分部的机构编码{CurrOnlineUserId}表示:当前系统在线人员id,如多人则用“,”分割
对应commonConfig.properties文件各种变量(属于系统级变量):{SysCfgXWFWorkplan}:工作计划;对应项workflow_workplan {SysCfgXWFBumfin}:收文流程id;对应项workflow_workplan {SysCfgXWFBumfout}:发文流程id;对应项workflow_workplan {SysCfgDocAfficheId}:通知公告
{ SysCfgDocNewDynamicId}:新闻动态
{ SysCfgHrmCompanyLeaderLevel}:联社领导层(理事长、监事长、主任、副主任){SysCfgHrmDeptAndSameOrganLeaderLevel }:部门领导层(含信用社领导层){SysCfgRoleCptManager}:对应项workflow_workplan {SysCfgRoleMeetingManager}:对应项workflow_workplan
{SysCfgRoleDocManager}:对应项workflow_workplan
首页提醒变量(仅限制在首页提醒模块)
{PerRow MainId}:每条记录的主键值。

{PerRow MainSubject}:每条记录的主题。

{PerRow MainDateTime}:每条记录的日期时间;显示具体的日期时间需要由用户决定。

{This ModuleRows}:获得本模块设置的“lngrows”字段值
{PerRow MainReadFlag}:每条记录“阅读“的标记。

{PageParamenter1}:获得本模块设置的“lngrows”字段值。

(保留字暂不实现)
{ PageParamenter2}:获得本模块设置的“lngrows”字段值。

(保留字暂不实现)
{ PageParamenter3}:获得本模块设置的“lngrows”字段值。

(保留字暂不实现)
{ PageParamenter4}:获得本模块设置的“lngrows”字段值。

(保留字暂不实现)
/cpt/search/CptMyDeptCapital.jsp?addorsub= 部门设备
我的设备/cpt/search/CptMyCapital.jsp
传递参数addorsub=
俺去也:。

相关文档
最新文档