文档库 最新最全的文档下载
当前位置:文档库 › java 日期和时间字符串格式化

java 日期和时间字符串格式化

java  日期和时间字符串格式化
java  日期和时间字符串格式化

java 日期和时间字符串格式化

SimpleDateFormat类可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance 或getDateTimeInstance 来创建日期-时间格式器。

每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式器。可以根据需要使用applyPattern方法来修改格式模式。

该构造方法可以使用参数pattern指定的格式创建一个对象,该对象调用format(Date date)方法格式化时间对象date。需要注意的是,pattern中应当含有一些有效的字符序列。例如:

●y或yy 表示使用两位数字来输出年份;yyyy表示使用4位数字输出年份。

●M或MM 表示使用两位数字或文本输出月份,如果使用汉字输出月份,pattern中应

连续包含至少3个M,例如MMM。

●d或dd 表示用两位数字输出日。

●H或HH 表示用两位数字输出小时。

●m或mm 表示用两位数字输出分。

●s或ss 表示用两位数字输出秒。

● E 表示用两位数字输出星期。

转换中文格式的时间的实例源代码如下所示:

格式化字符串漏洞研究

格式化字符串漏洞研究 杜旭涛1,2,?邢春晓2,?周立柱1,? 1清华大学计算机系,北京100087 2清华大学WEB与软件技术中心,北京100087 摘要格式化字符串漏洞对计算机系统和网络具有很大的危胁。攻击者利用格式化字符串漏洞可以远程侵入网络上的计算机系统,偷看系统信息甚至得到系统的完全控制权。由于与传统的缓冲区溢出漏洞攻击的原理不同,对于缓冲区溢出漏洞进行防范的方法对于格式化字符串漏洞通常会失效。对于高可信软件来说,如何避免和防范格式化字符串漏洞的危害就显得格外重要。本文对格式化字符串漏洞进行了综合的介绍。指出了格式化字符串漏洞的成因和危害。使用多个例子从预防的角度说明了利用该漏洞进行攻击的基本原理。然后对相关的漏洞防范工具作了介绍。 关键词格式化字符串漏洞;shellcode;攻击;漏洞防范工具 Survey of Format String Vulnerability Xu-Tao Du1,2Chun-Xiao Xing2 1Department of Computer Science,Tsinghua University,Beijing100080 2Research Center of WEB and Software Engineeing,Tsinghua University,Beijing100080 Abstract Format string vulnerability is a vital threat to computer systems and networks.By exploiting the format string vulnerability,attackers can break into computer systems in the internet.They can get various information about the computer systems and can even get full control of them.Since the principle and methods of exploiting format string vulnerability and that of exploiting traditional buffer over?ow vulnerability are different,tools for preventing buffer over?ow attacks will usually fail in front of format string attacks.For the High-Con?dential Software,its very important to avoid and prevent from the damage of format string vulnerability.This paper introduce the format string vulnerability.After point out its origin and potential damage,we show the method to exploit this vulnerability through several concrete examples.Then we introduced some protecting tools for this vulnerability. Keywords Format String Vulnerability;Shellcode;Attack;Protecting Tools ?通讯作者。电子邮件:dxt05@https://www.wendangku.net/doc/13412542.html, ?电子邮件:xingcx@https://www.wendangku.net/doc/13412542.html, ?电子邮件:dcszlz@https://www.wendangku.net/doc/13412542.html,

Sql日期时间格式转换

Sql日期时间格式转换 sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/ 语句及查询结果: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46 Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06 Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16 Select CONVERT(varchar(100), GETDATE(), 12): 060516 Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47 Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006

JAVA字符串格式化-String.format()的使用

JAVA字符串格式化-String.format()的使用 常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。 format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。 显示不同转换符实现不同数据类型到字符串的转换,如图所示。 转换符说明示例 %s 字符串类型"mingrisoft" %c 字符类型'm' %b 布尔类型true %d 整数类型(十进制)99 %x 整数类型(十六进制)FF %o 整数类型(八进制)77 %f 浮点类型99.99 %a 十六进制浮点类型FF.35AE %e 指数类型9.38e+5 %g 通用浮点类型(f和e类型中较短的) %h 散列码 %% 百分比类型% %n 换行符 %tx 日期与时间类型(x代表不同的日期与时间转换符 测试用例 [java]view plaincopy 1.public static void main(String[] args) { 2. String str=null;

3. str=String.format("Hi,%s", "王力"); 4. System.out.println(str); 5. str=String.format("Hi,%s:%s.%s", "王南","王力","王张"); 6. System.out.println(str); 7. System.out.printf("字母a的大写是:%c %n", 'A'); 8. System.out.printf("3>7的结果是:%b %n", 3>7); 9. System.out.printf("100的一半是:%d %n", 100/2); 10. System.out.printf("100的16进制数是:%x %n", 100); 11. System.out.printf("100的8进制数是:%o %n", 100); 12. System.out.printf("50元的书打8.5折扣是:%f 元%n", 50*0.85); 13. System.out.printf("上面价格的16进制数是:%a %n", 50*0.85); 14. System.out.printf("上面价格的指数表示:%e %n", 50*0.85); 15. System.out.printf("上面价格的指数和浮点数结果的长度较短的 是:%g %n", 50*0.85); 16. System.out.printf("上面的折扣是%d%% %n", 85); 17. System.out.printf("字母A的散列码是:%h %n", 'A'); 18.} 输出结果 [plain]view plaincopy 1.Hi,王力 2.Hi,王南:王力.王张 3.字母a的大写是:A 4.3>7的结果是:false 5.100的一半是:50 6.100的16进制数是:64 7.100的8进制数是:144 8.50元的书打8.5折扣是:42.500000 元 9.上面价格的16进制数是:0x1.54p5 10.上面价格的指数表示:4.250000e+01 11.上面价格的指数和浮点数结果的长度较短的是:42.5000 12.上面的折扣是85% 13.字母A的散列码是:41 搭配转换符的标志,如图所示。 标志说明示例结果+ 为正数或者负数添加符号("%+d",15) +15 ?左对齐("%-5d",15) |15 | 0 数字前面补0 ("%04d", 99) 0099 空格在整数之前添加指定数量的 空格 ("% 4d", 99) | 99| , 以“,”对数字分组("%,f", 9999.99) 9,999.990000

java处理日期时间 相加减

JAVA处理日期时间常用方法: 1.java.util.Calendar Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间1970年 1月1日的00:00:00.000,格里高利历)的偏移量。 [java]view plaincopy 1.Calendar cal=Calendar.getInstance();//使用默认时区和语言环境获得一个日历。 2.cal.add(Calendar.DAY_OF_MONTH,-1);//取当前日期的前一天. 3. 4.cal.add(Calendar.DAY_OF_MONTH,+1);//取当前日期的后一天. 5. 6.//通过格式化输出日期 7.java.text.SimpleDateFormat format=new java.text.SimpleDateFormat("yyyy-MM- dd"); 8. 9.System.out.println("Today is:"+format.format(Calendar.getInstance().getTime() )); 10. 11.System.out.println("yesterday is:"+format.format(cal.getTime())); 得到2007-12-25日期: [java]view plaincopy 1.Calendar calendar=new GregorianCalendar(2007,11,25,0,0,0); 2.Date date=calendar.getTime(); 3.System.out.println("2007Christmas is:"+format.format(date)); java月份是从0-11,月份设置时要减1. GregorianCalendar构造方法参数依次为:年,月-1,日,时,分,秒.

js日期时间格式验证,时间比较

日期时间脚本库方法列表 Date.prototype.isLeapYear 判断闰年 Date.prototype.Format 日期格式化 Date.prototype.DateAdd 日期计算 Date.prototype.DateDiff 比较日期差 Date.prototype.toString 日期转字符串 Date.prototype.toArray 日期分割为数组 Date.prototype.DatePart 取日期的部分信息 Date.prototype.MaxDayOfDate 取日期所在月的最大天数 Date.prototype.WeekNumOfYear 判断日期所在年的第几周 StringToDate 字符串转日期型 IsValidDate 验证日期有效性 CheckDateTime 完整日期时间检查 daysBetween 日期天数差 js 代码 //--------------------------------------------------- // 判断闰年 //--------------------------------------------------- Date.prototype.isLeapYear = function() { return (0==this.getYear()%4&&((this.getYear()%100!=0)||(this.getYear()%400==0))); } //--------------------------------------------------- // 日期格式化 // 格式 YYYY/yyyy/YY/yy 表示年份 // MM/M 月份 // W/w 星期 // dd/DD/d/D 日期 // hh/HH/h/H 时间 // mm/m 分钟 // ss/SS/s/S 秒 //--------------------------------------------------- Date.prototype.Format = function(formatStr) { var str = formatStr; var Week = ['日','一','二','三','四','五','六'];

c语言格式化说明符(输出格式)

c语言格式化说明符 1.1.1 格式化输入输出函数 一、printf()函数 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出 信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原 样输出; 另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式。 参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。 1. 格式化规定符 Turbo C2.0提供的格式化规定符如下: ━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号作用 —————————————————————————— %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数

%x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 说明: (1). 可以在"%"和字母之间插进数字表示最大场宽。 例如: %3d 表示输出3位整型数, 不够3位右对齐。 %9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。 %8s 表示输出8个字符的字符串, 不够8个字符右对齐。 如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。 但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出; 若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。另外, 若想在输出值前加一些0, 就应在场宽项前加个0。 例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度 为4位。 如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度, 小数点前的数字代表最小宽度。 例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则第9个字符以后的内容将被删除。 (2). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。 例如: %ld 表示输出long整数 %lf 表示输出double浮点数 (3). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可 说明输出为左对齐, 否则为右对齐。 例如: %-7d 表示输出7位整数左对齐

Mysql格式化日期时间

DATE_FORMAT(date,format) 根据format字符串格式化date值。下列修饰符可以被用在format 字符串中:%M 月名字(January……December) %W 星期名字(Sunday……Saturday) %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。) %Y 年, 数字, 4 位 %y 年, 数字, 2 位 %a 缩写的星期名字(Sun……Sat) %d 月份中的天数, 数字(00……31) %e 月份中的天数, 数字(0……31) %m 月, 数字(01……12) %c 月, 数字(1……12)

%b 缩写的月份名字(Jan……Dec) %j 一年中的天数(001……366) %H 小时(00……23) %k 小时(0……23) %h 小时(01……12) %I 小时(01……12) %l 小时(1……12) %i 分钟, 数字(00……59) %r 时间,12 小时(hh:mm:ss [AP]M) %T 时间,24 小时(hh:mm:ss) %S 秒(00……59)

%s 秒(00……59) %p AM或PM %w 一个星期中的天数(0=Sunday ……6=Saturday )%U 星期(0……52), 这里星期天是星期的第一天 %u 星期(0……52), 这里星期一是星期的第一天 %% 一个文字“%” %a - 星期几的简写 %A - 星期几的全写 %b - 月份的简写

%B - 月份的全写 %c - 日期时间06/12/05 11:15:10 %C - 世纪时间 %d - 一个月的第几号(从01 到31) %D - 同%m/%d/%y %e - 一个月的第几号,号为单数则前面加一空格(从1 到31) %g - 世纪

c++格式化字符串

格式化字符串——以C++的名义(zt) 2009-12-22 10:59 从第一堂C语言课上的那个printf开始,格式化字符串就成了我的梦魇。此后我还在很多地方遇到过它们:fprintf,sscanf以及CString的Format成员函数……。除了能记住%s(String 的缩写)代表字符串,%d(Decimal的缩写)代表整数之外,每次用到格式化字符串的地方我都要求助于MSDN。 直到我看到C++的字符串格式化方式后,我决定从此抛弃C的那套格式化字符串的方法。在C++里格式化字符串,用到的最多的类是:ostringstream以及它的宽字符版本wostringstream。 话不多说,如果要将一个整数n格式化成字符串以便输出之用 CString的方式是这样的: CStringstr; str.Format(_T("%d"), n); ostringstream的方式: ostringstreamost; ost<

java中时间格式的转换

1.将日期类型转换为格式的字符串类型 java.util.Date中的日期 Date Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String time=sdf.format(date); 2.将字符串类型的转换为指定格式的日期类型(java.util.Date) String time = "2009-7-29 14:28:12"; DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = df.parse(time); 这里需要抛出ParseException异常 若将java.util.Date类型转换成java.sql.Date时,只需添加一行代码 java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 3.使用java.sql.Timestamp在java程序中rs.getDate()时获取日期的时、分、秒 String str = ""; String format="yyyy-MM-dd HH:mm:ss"; try { //这里与数据库的连接已经省略,获得PreparedStatement的对象psmt ResultSet rs = psmt.executeQuery(); while(rs.next()){ Timestamp ts = rs.getTimestamp("pdate"); SimpleDateFormat sdf = new SimpleDateFormat(format); str = sdf.format(ts); System.out.println(str); } } catch (SQLException e) { e.printStackTrace(); } ...... SimpleDateFormat的用法: //SimpleDateFormat中的parse方法可以 把String型的字符串转换成特定格式的date类型 import java.text.*; import java.util.*; public class TestDate { public static void main(String[] args) { String dStr = "2001.12.12-08.23.21"; Date d = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd-HH.mm.ss"); try { d = sdf.parse(dStr);

如何在excel中设置日期时间格式

excel中日期时间格式转换问题 1.2009/05/15 如何转换为20090515这种数字格式。 2.23:03:00 如何转换为230300这种数字格式。 谢谢。 2009/05/15 如何转换为20090515这种数字格式 先选中该列或该单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入 yyyymmdd 确定 23:03:00 如何转换为230300这种数字格式。 先选中该列或该单元格,鼠标右击,“设置单元格格式”,“数字”,“自定义”,在类型处输入 hhmmss 确定 在excel列中设置好了日期的格式yyyy-m,为何输入的是20049,却变成1956-10-而且这列中的每行都是这样? 1, 你输入的20049本身不是日期格式,你应该输入2004/09/01 那么,显示为:2004-9 2,你设置为特殊格式0000-00,你输入时输入:200409 将会显示为:2004-09 (月份考虑2位) 如何在excel中设置日期格式 比如:一列的数据是2008.04.29,令一列是2008.05.29,我想求两个日期的天数,但在设置日期格式为2008-4-29时没有反应,是不是这种格式的时间不能设置成日期的格式啊? 2008-4-9 2008-5-9 然后选择设置单元格格式-数字-日期-示例里面选择你需要显示日期的格式 如何设置excel中的日期格式 右键---设置单元格式---数字---自定义---类型中将“yyyy-m-d”修改为“yyyymmdd”,确定。 如何在excel表格中的某一单元格设置日期格式.如果输入的不是日期格式就会出错

excel中如何将时间日期格式转换为日期时间格式

[求助]excel中如何将时间日期格式转换为日期/时间格式 在excel中如何将时间日期格式通过公式转换为日期/时间格式,可以利用转换后的时间格式进行排序或筛选等操作.如:要将"2000-01-01 12:00"转为"2000-01-01" 和"12:00"具体公式如何写,请各高手 帮忙.在此谢过大家了! 我习惯使用: 日期在A1 日期:=TEXT(A1,"yyyy-mm-dd") 时间:=TEXT(A1,"H:MM:SS") 下面方法管用: 复制空白单元格-选中b3:e8-选择性粘贴(加) 然后设置单元格格式类型-日期 最好谜底:没有最好谜底其它回覆1:你可以清空格局从头配备布置其它回覆2:选重所有单位格,从头配备布置啊其它回覆3:综合上面所说的,在可以举行“选择性粘附”的环境下,选择粘附“数据”,要不就是先复制已往,之后从头配备布置格局 需要别人解答的题目:我的1个陈诉中需要大量假座外来数据,我需要在Excel表格中患上到yyyyxmmxdd hh:mm:ss格局,我已配备布置好单位格格局而外来数据的有时候格局为ddxmmxyyyy hh:mm:ss格局,有时候为yyyyxmmxdd hh:mm:ss,哪位大侠帮助告诉我一下怎么措置惩罚备注:单位格我已配备布置成yyyyxmmxdd hh:mm:ss格局,可是把ddxmmxyyyy hh:mm:ss格局日子复制粘附后,照旧只能预示成ddxmmxyyyy hh:mm:ss格局测验考试了数据分列,也没生效用(很快的啊)其它回覆4:照旧不清晰的话,就把例题发过来让我尝

尝看,再发给你ZYLHLB@126 其它回覆5:ddxmmxyyyy hh:mm:ss格局的数据可以用底下的公式转换规范的日子时间格局:=TEXT(DA TE(MID(A1,FIND("#",SUBSTITUTE(A1,"x","#",2))+1,4),MID(A1,FIND("x",A1 )+1,FIND("#",SUBSTITUTE(A1,"x","#",2))-FIND("x",A1)-1),REPLACE(A1,FIND("x",A1),LE N(A1),""))+RIGHT(A1,LEN(A1)-FIND(" ",A1)),"yyyyxmmxdd hh:mm:ss") 判断两种数据格局很简略呀只需判断熬头个x号在第几位就能够了呀=if(find("x",A1)<4,上面所说的公式,A1) 完备公式:=IF(FIND("x",A1)<4,TEXT(DA TE(MID(A1,FIND("#",SUBSTITUTE(A1,"x","#",2))+1,4),M ID(A1,FIND("x",A1)+1,FIND("#",SUBSTITUTE(A1,"x","#",2))-FIND("x",A1)-1),REPLACE(A 1,FIND("x",A1),LEN(A1),""))+RIGHT(A1,LEN(A1)-FIND(" ",A1)),"yyyyxmmxdd hh:mm:ss"),A1) 其它回覆6:我也想学其它回覆7:粘附日子时,要用选择性粘附中的“粘附数据”,之后再同一配备布置日子格局就好了增补:要是你是从另外1个EXCEL表格中复制的时间数据,应该在同1个EXCEL主步伐下打开,不然“选择性粘附-粘附数据”特殊情况不可功别的,你也能够把这个数据先粘附到1个TXT的文这篇文章件中,再复制到EXCEL中其它回覆8:要是你已配备布置好单位格为yyyyxmmxdd hh:mm:ss的格局,那末你输入的话必然要输入完备的日子粒时间x好比:2010-06-12 15:33:22 excel 日期时间格式转换excel日期格式转换来自彩新时尚网

使用fmt标签格式化输出日期和数字

JSTL fmt数字日期格式化 标签用于根据设定的区域将数据格式化输出; 标签用于格式化输出日期和时间; 标签用于把字符串类型的日期和时间转换成日期型数据类型; 标签用于设定默认的时区; 标签用于设定在本签体内有效的时区; 日期格式数据在jsp页面显示使用如下标签 其中${date}是实际数据中的java.util.Date类型数据 pattern="yyyy-MM-dd" 中的"yyyy-MM-dd"按照标准时间格式字符串定义即可, 可以显示到时分秒即为"yyyy-MM-dd HH:mm:ss"注意其中大小写 数字标签 其中${num}是任意的基础数据类型数据,pattern指定当前数字的格式,可以指定格式”#” (只有整数类型)、”#.#”(带一位小数类型)、” ¥#,###.###”(带千位分割符,和“¥”类型)等等;type指定当前数字的类型,type有number(数值)、currency(货币)、percent(百分数)三种; 数字标签实例 Double num = new Double("123456789012.3456"); 整数带千分符显示: 整数显示: 两位小数舍入显示:

C语言字符输出格式化

几点说明: 1. 注意! 表中的每一行,代表一种基本类型。“[]”代表可省略。 例如:char、signed char、unsigned char是三种互不相同的类型; int、short、long也是三种互不相同的类型。 可以使用C++的函数重载特性进行验证,如: void Func(char ch) {} void Func(signed char ch) {} void Func(unsigned char ch) {} 是三个不同的函数。 2. char/signed char/unsigned char型数据长度为1字节; char为有符号型,但与signed char是不同的类型。 注意! 并不是所有编译器都这样处理,char型数据长度不一定为1字节,char也不一定为有符号型。 3. 将char/signed char转换为int时,会对最高符号位1进行扩展,从而造成运算问题。 所以,如果要处理的数据中存在字节值大于127的情况,使用unsigned char较为妥当。 程序中若涉及位运算,也应该使用unsigned型变量。 4. char/signed char/unsigned char输出时,使用格式符%c(按字符方式); 或使用%d、%u、%x/%X、%o,按整数方式输出; 输入时,应使用%c,若使用整数方式,Dev-C++会给出警告,不建议这样使用。 5. int的长度,是16位还是32位,与编译器字长有关。 16位编译器(如TC使用的编译器)下,int为16位;32位编译器(如VC使用的编译器cl.exe)下,int为32位。 6. 整型数据可以使用%d(有符号10进制)、%o(无符号8进制)或%x/%X(无符号16进制)方式输入输出。而格式符%u,表示unsigned,即无符号10进制方式。 7. 整型前缀h表示short,l表示long。 输入输出short/unsigned short时,不建议直接使用int的格式符%d/%u等,要加前缀h。

日期格式大全

Java中日期格式转换 /** * 字符串转换为java.util.Date
* 支持格式为 yyyy.MM.dd G 'at' hh:mm:ss z 如 '2002-1-1 AD at 22:10:59 PSD'
* yy/MM/dd HH:mm:ss 如 '2002/1/1 17:55:00'
* yy/MM/dd HH:mm:ss pm 如 '2002/1/1 17:55:00 pm'
* yy-MM-dd HH:mm:ss 如 '2002-1-1 17:55:00'
* yy-MM-dd HH:mm:ss am 如 '2002-1-1 17:55:00 am'
* @param time String 字符串
* @return Date 日期
*/ public static Date stringToDate(String time){ SimpleDateFormat formatter; int tempPos=time.indexOf("AD") ; time=time.trim() ; formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); if(tempPos>-1){ time=time.substring(0,tempPos)+ "公元"+time.substring(tempPos+"AD".length());//china formatter = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss z"); } tempPos=time.indexOf("-"); if(tempPos>-1&&(time.indexOf(" ")<0)){ formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ"); } else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss"); } else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); } else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){ formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a"); } ParsePosition pos = new ParsePosition(0); java.util.Date ctime = formatter.parse(time, pos); return ctime;

DELPHI获得系统当前时间日期和格式化时间

获得系统当前时间 本例中主要应用了FormatDateTime函数,此函数主要用于将日期时间格式化为指定的字符串。利用该函数可以输出许多形式的时间格式。 程序运行结果如图6.1所示 主要代码如下: procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := FormatDateTime('hh:nn:ss',Now()); end; 获得系统当前日期 当用户单击窗体中的按钮时,程序会利用DateTimeToStr函数将当前日期转换为一个字符串显示在标签上。 程序运行结果如图6.2所示。 图6.2 获得系统当前日期 主要代码如下: procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := DateTimeToStr(Date()); end; 将日期时间格式化为指定格式 本例将日期时间格式化为指定格式主要是应用了FormatDateTime函数。使用该函数可以将当前日期时间格式化为自定义格式。 程序运行结果如图6.3所示。

图6.3 将日期时间格式化为指定格式 主要代码如下: procedure TForm1.Timer1Timer(Sender: TObject); begin Label1.Caption := DateTimeToStr(now()); end; procedure TForm1.Button1Click(Sender: TObject); begin Label2.Caption := FormatDateTime('yyyy年mm月dd日hh时nn分ss秒',now()); end;

Java日期格式大全

日期和时间模式 日期和时间格式由日期和时间模式字符串指定。在日期和时间模式字符串中,未加引号的字母'A'到'Z'和'a'到'z'被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号(')引起来,以免进行解释。"''"表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在解析时与输入字符串进行匹配。 定义了以下模式字母(所有其他字符'A'到'Z'和'a'到'z'都被保留): 字 母 日期或时间元素表示示例 G Era标志符Text AD M年中的月份Month July;Jul;07 W月份中的周数Number2 d月份中的天数Number10 E星期中的天数Text Tuesday;Tue H一天中的小时数(0-23)Number0 K am/pm中的小时数 (0-11) Number0 m小时中的分钟数Number30 S毫秒数Number978 Z时区RFC822time zone -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 同步 日期格式是不同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须是外部同步的。

相关文档