Delphi Tips
StrToDate()
function StrToDate(const S: string): TDateTime;
function StrToDate(const S: string; const FormatSettings: TFormatSettings): TDateTime;
StrToDate将给定的字符串转换为日期值。 分隔符只能是为'' / '', eg: '2019-10-01', 年值假定在本世纪为0到99之间。 给定字符串只能包含有效日期。 如分隔符不是'' / '', 如''2010-12-1'', 此时抛错: ''2010-12-1'' is not a valid date'.为解决此函数固定分隔符的问题。可构造 FormatDateStrt函数。
function FormatDateStr(s: string):TDateTime;
var
y, m, d, i: Integer;
delimitor: string;
begin
s := Trim(s);
if (Length(s) > 10) or (Length(s) < 8)then begin
RaiseException('!'); //根据自己需求创建Exception
end;
for i := 1 to Length(s) do begin
if not (s[i] in ['0'..'9']) then begin
delimitor := s[i];
break;
end;
end;
y := StrToInt(fetch(s, delimitor)); //利用fetch copy pos等函数实现
m := StrToInt(fetch(s, delimitor));
d := StrToInt(fetch(s, delimitor));
Result := EncodeDate(y, m, d);
end;
未完待续
Delphi Tips的更多相关文章
- Some Delphi tips
====================================conversion routines====================================Format('T ...
- 获取MessageBox按钮本地字符串(OK、Cancel、Yes、No等)
问题仍然由定制MessageBox引发. 定制MessageBox,虽加入自定义些东西,但仍然希望,最大限度接近系统原生框.碰到的问题,就是其钮文本. 即如MessageBox.Show()之Mess ...
- Delphi经验总结(1)
先人的DELPHI基础开发技巧 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername ...
- delphi 中的浮点数 (转载)
原文地址 Floating point numbers — Sand or dirt Floating point numbers are like piles of sand; every time ...
- Windows XP Manifest in Delphi
Find out how you can include the manifest into a Delphi project to allow your application to share t ...
- [VB.NET Tips]为VB.NET正名
前言 我于2005年毕业,正值全国上上下下如火如荼的开展企业信息化的时代,正是大规模软件开发的年代. 那时.NET 已经发布了2.0,但是仍是VB6,Delphi,PowerBuilder的天下,是E ...
- Mac上MySQL忘记root密码且没有权限的处理办法&workbench的一些tips (转)
忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大.如果你是第一次安装,在mysql安装完成之后,会弹出来 ...
- 学习笔记:7z在delphi的应用
最近做个发邮件的功能,需要将日志文件通过邮件发送回来用于分析,但是日志文件可能会超级大,测算下来一天可能会有800M的大小.所以压缩是不可避免了,delphi中的默认压缩算法整了半天不太好使,就看了看 ...
- 【Tips】史上最全H1B问题合辑——保持H1B身份终级篇
[Tips]史上最全H1B问题合辑——保持H1B身份终级篇 2015-04-10留学小助手留学小助手 留学小助手 微信号 liuxue_xiaozhushou 功能介绍 提供最真实全面的留学干货,帮您 ...
随机推荐
- MATLAB之基本语法
常用命令 dir:列出当前目录下的所有文件 clc:清除命令窗 clear all:清除环境(从内存中清除所有变量) who:将内存中的当前变量以简单形式列出 close all: 关闭所有的 Fig ...
- 基于servlet的图书管理系统
该项目是Java语言开发的图书管理系统,IDE采用eclipse,技术采用servlet,数据库使用mysql,前端页面采用bootstrap框架,简介美观. 系统具备基础的功能,读者可以注册登录,登 ...
- TypeScript && React
环境搭建 我们当然可以先用脚手架搭建React项目,然后手动配置成支持TypeScript的环境,虽然比较麻烦,但可以让你更清楚整个过程.这里比较麻烦,就不演示了,直接用命令配置好. npx crea ...
- vuex-class用法
vuex-class可以包装vuex的写法,使代码简化 Installation $ npm install --save vuex-class Example import Vue from 'vu ...
- Redis相关安装TCL
安装相关命令 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gzsudo tar -xzvf tcl8.6.1-src.tar. ...
- 二分练习题3 查找小于x的最大元素 题解
题目描述 现在告诉你一个长度为 \(n\) 的有序数组 \(a_1, a_2, ..., a_n\) ,以及 \(q\) 次询问,每次询问会给你一个数 \(x\) ,对于每次询问,你需要输出数组 \( ...
- html的表格边框为什么会这么粗?
因为默认情况下,cellspacing = 2px. 当表格的 border 不为 0 的时候,单元格(cell)的 border 为 1. 只有当表格的 border 设置为 0 的时候,单元格的 ...
- Kubernetes监控实践
一.Kubernetes介绍 Kubernetes(K8s)是一个开源平台,能够有效简化应用管理.应用部署和应用扩展环节的手动操作流程,让用户更加灵活地部署管理云端应用. 作为可扩展的容错平台,K8s ...
- CSS——字体
1.字体样式font-family.颜色color <!DOCTYPE html> <html> <head> <meta charset="UTF ...
- android studio连接雷电模拟器 【AS 模拟器】
⭐ 我的网站: www.mengyingjie.com ⭐ Android studio 怎么连接安卓模拟器呢,跟着下面的步骤即可 (以雷电模拟器为例,其他模拟器类似) 一.下载模拟器 下载安装完雷电 ...