今天要显示delphi日期格式为"xxxx年xx月xx日"形式,原本以为格式化串就是这样写的,后来发现不行,搜索后才知是按格式"dddddd"。

参考:在Delphi中可用FormatDateTime函数的用法

function FormatDateTime(const Format: string; DateTime: TDateTime): string;

Format参数是一个格式化字符串。DateTime是时间类型。返回值是一种格式化后的字符串,重点来看Format参数中的指令字符

c以短时间格式显示时间,即全部是数字的表示 
FormatdateTime('c',now); 
输出为:2004-8-7 9:55:40

d 对应于时间中的日期,日期是一位则显示一位,两位则显示两位 
FormatdateTime('d',now); 
输出可能为1~31

dd 和d的意义一样,但它始终是以两位来显示的 
FormatdateTime('dd',now); 
输出可能为01~31

ddd 显示的是星期几 
FormatdateTime('ddd',now); 
输出为: 星期六

dddd 和ddd显示的是一样的。 
但上面两个如果在其他国家可能不一样。

ddddd 以短时间格式显示年月日 
FormatdateTime('ddddd',now); 
输出为:2004-8-7

dddddd 以长时间格式显示年月日 
FormatdateTime('dddddd',now); 
输出为:2004年8月7日

e/ee/eee/eeee 以相应的位数显示年 
FormatdateTime('ee',now); 
输出为:04 (表示04年)

m/mm/mmm/mmmm 表示月 
FormatdateTime('m',now); 
输出为:8FormatdateTime('mm',now); 
输出为 08 
FormatdateTime('mmm',now); 
输出为 八月 
FormatdateTime('mmmm',now); 
输出为 八月 
和ddd/dddd 一样,在其他国家可能不同

yy/yyyy 表示年 
FormatdateTime('yy',now); 
输出为 04 
FormatdateTime('yyyy',now); 
输出为 2004

h/hh,n/nn,s/ss,z/zzz 分别表示小时,分,秒,毫秒 
t 以短时间格式显示时间 
FormatdateTime('t',now); 
输出为 10:17

tt 以长时间格式显示时间 
FormatdateTime('tt',now); 
输出为10:18:46

ampm 以长时间格式显示上午还是下午 
FormatdateTime('ttampm',now); 
输出为:10:22:57上午

如果要在Format中加普通的字符串,可以用双引号隔开那些特定义的字符,这样普通字符串中如果含特殊的字符就不会被显示为时间格式啦: 
FormatdateTime('"today is" c',now); 
输出为:today is 2004-8-7 10:26:58

时间中也可以加"-"或"\"来分开日期: 
FormatdateTime('"today is" yy-mm-dd',now); 
FormatdateTime('"today is" yy\mm\dd',now); 
输出为: today is 04-08-07

也可以用":"来分开时间 
FormatdateTime('"today is" hh:nn:ss',now); 
输出为:today is 10:32:23

今天真正弄明白一个问题,TfileStream如何共享打开一个文件,FileStream := TFileStream.Create(FileName, fmShareDenyNone);即可,不怕要以读为目的打开的文件已被占用的情况。

delphi 用 TFileStream(文件流) 读写:TStream 是一个抽象的基类, 不能直接生成对象. 在具体的应用中, 主要使用它的子孙类:
TFileStream: 文件流
TStringStream: 字符串流
TMemoryStream: 内存流
TResourceStream: 资源文件流

THandleStream: 是 TFileStream 的父类、TStream 的子类
TCustomMemoryStream: 是 TMemoryStream 和 TResourceStream 的父类、TStream 的子类

与流相关的常用类还有: TReader、TWriter、TCompressionStream、TDecompressionStream

procedure TForm1.Button1Click(Sender: TObject);
var
getStream,setStream: TFileStream; {声明一个文件流}
getPath,setPath: string;
begin
getPath := 'c:\temp\get.jpg'; {需要这个文件存在}
setPath := 'c:\temp\set.jpg'; {这个会自动建立}
if not FileExists(getPath) then
begin
ShowMessage('找不到我们要测试的图片文件: ' + getPath);
Exit;
end;

getStream := TFileStream.Create(getPath, fmOpenRead or fmShareExclusive);
setStream := TFileStream.Create(setPath, fmCreate);
{建立文件流需要两个参数: 参数 1 是路径, 参数 2 是打开模式}

getStream.Position := 0; {流指针移到开始, 复制时从这里开始}
setStream.CopyFrom(getStream, getStream.Size); {Copy 流}
{CopyFrom 的参数 2 是要复制的内容大小; 如果为 0 , 不管指针在什么位置都会复制所有内容}
{CopyFrom 返回实际拷贝的字节数}

{这时硬盘上就有 set.jpg 文件, 与 get.jpg 一么一样}
{其实就是复制文件, 不过这里我们是用文件流实现的}

getStream.Free;
setStream.Free;
end;

TFileStream 打开模式与共享模式:

分类

参数

说明




fmCreate

建立文件, 如果存在则打开它。

fmOpenRead

只读打开

fmOpenWrite

只写打开

fmOpenReadWrite

读写打开




fmShareCompat

共享模式, 兼容 Dos

fmShareExclusive

不允许别人以任何方式打开

fmShareDenyWrite

允许别人以只写方式打开

fmShareDenyRead

允许别人以只读方式打开

fmShareDenyNone

允许别人以任何方式打开

delphi日期格式显示及文件打开方式小结相关推荐

  1. 计算机文件右击怎么显示打开方式,修复鼠标右键点击文件打开方式在win10中没有反应...

    当我们在电脑中需要打开文件夹的不同设置的选项的时候是可以直接在鼠标的右键中进行设置打开的,选择文件的不同的打开的时候有小伙伴在win10电脑中点击右键发现没有反应的情况遇到这个问题我们怎么恢复右键的使 ...

  2. cdr文件用什么打开?cdr文件打开方式有几种

    大家可能会接触到cdr这种格式的文件,这种文件是平面设计常用软件中CorelDRAW的源文件格式.由于CorelDRAW是矢量图形绘制软件,所以cdr可以记录文件的属性.位置和分页等.但它在兼容度上比 ...

  3. Hbuilder 左侧项目栏文件打开方式(单击?双击?) - 设置篇

    Hbuilder 左侧项目栏文件打开方式(单击?双击?) - 设置篇 设置办法 · 截图演示 · 如下: 打开编辑器,工具栏找到"工具": 打开"工具"–> ...

  4. jnlp文件打开方式(jnlp文件打开方式Java)

    jnlp这个文件打开方式不小心改成网页打开了怎么也回不?inpu 你这个文件的扩展名不对啊!扩展名只有3位,你怎么跑出来4位了,是jnp还是什么,从这个文件上,点鼠标右键,有个打开方式,选一个你想打开 ...

  5. 应用打开方式是计算机程序,电脑文件打开方式里不能选择程序 解决方案

    文件的默认打开程序错误,在文件打开方式里面,有一个「始终使用该程序打开这些文件」是灰色的,复选框不能选. 如Axure建立的rp格式文件,被有的播放器当成是流媒体文件,成了默认关联的强行打开程序. 一 ...

  6. Python基础 文本控制 文件编码格式 使用python读写文件 常用的文件打开方式

    编码格式: 常见的字符编码格式 Python的解释器使用的是Unicode(内存) .py文件在磁盘上使用UTF-8存储(外存) 文件的读写原理: 1.文件的读写俗称"IO操作"  ...

  7. c语言file的作用是什么意思,C语言文件操作之文件打开方式

    贴上一段: fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,打开文件方式); 其中, "文件指针名"必须是被说明为FILE类型的指针变量: & ...

  8. 怎么修复html文件打开方式,如何修复快捷方式lnk文件的打开方式

    正常情况下,在桌面上会看到很多快捷方式,而*.lnk是快捷方式的后缀,一般情况下,快捷方式是不会显示后缀的,如果显示了后缀,肯定是你的电脑有问题了(见下图) lnk文件是用于指向其他文件(如,程序)的 ...

  9. python文件打开方式详解

    转载自https://blog.csdn.net/ztf312/article/details/47259805 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二 ...

最新文章

  1. 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
  2. axure文件如何加密_怎么样给PDF加密?PDF文件如何加密?
  3. 谈谈重要的TCP、UDP
  4. 【源码】net_device结构
  5. java压缩文件读取_用Java读取/写入压缩和非压缩文件
  6. 冠榕智能灯光控制协议分析(controller init)
  7. mybatis使用in语句作为查询条件
  8. 两个fetion飞信API
  9. JavaScript(七)—— BOM 浏览器对象模型
  10. undefined reference to `dlclose‘问题解决方法
  11. OC中类别、扩展、协议与托付
  12. java中的包装类和基本类型_java中基本类型和包装类型实践经验
  13. D. Array Splitting
  14. 感染所有html病毒代码,非常简单的病毒代码汇总
  15. abaqus 不收敛问题
  16. 大麦网抢票程序(一)之大麦网网站分析
  17. 外卖行业现状分析_O2O模式下的外卖行业的发展现状和前景分析
  18. ValueError: Cannot feed value of shape (100, 160) for Tensor 'Placeholder:0', which has shape '(?,
  19. 如何找到winRE.wim (Win10无法重置电脑找 不到恢复环境,需要重装介质)
  20. 苹果cms小程序服务器要求,苹果cmsV10最新版小程序插件

热门文章

  1. 北斗导航 | 坐标变换矩阵(CTM)与欧拉角(Euler)互相转换:Matlab源代码
  2. Qt学习(五):TCP通信
  3. xml验证 java代码,使用Java代码进行XML验证
  4. c++二进制文件java读取int_吃透Java基础十二:IO
  5. java rmi 超时_java RMI服务超时
  6. 英语语法---副词详解
  7. 【数据竞赛】图像赛排行榜拉开100名差距的技巧
  8. 【论文相关】1.1 T 的 arXiv 数据集:170 万篇论文,可以看到下辈子
  9. 【职场建议】开发转算法,我们应该如何准备(过来人的肺腑之言)
  10. 【算法知识】详解快速排序算法