formatdatetime 时间格式,datetime转换成date
老铁们,大家好,相信还有很多朋友对于formatdatetime 时间格式和datetime转换成date的相关问题不太懂,没关系,今天就由我来为大家分享分享formatdatetime 时间格式以及datetime转换成date的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!
Format函数的用法
当然和Format一样还有一种,但这里只介绍常用的第一种
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);
输出为:8
FormatdateTime('mm',now);
输出为 08
FormatdateTime('mmm',now);
输出为八月
FormatdateTime('mmmm',now);
输出为八月
和ddd/dddd一样,在其他国家可能不同
yy/yyyy表示年
FormatdateTime('yy',now);
输出为 04
FormatdateTime('yyyy',now);
输出为 2004
大概如此,如果要在Format中加普通的字符串,可以用双引号隔开那些
特定义的字符,这样普通字符串中如果含特殊的字符就不会被显示为
时间格式啦:
FormatdateTime('today is c',now);
输出为:today is 2004-8-7 10:26:58
时间中也可以加-或来分开日期:
FormatdateTime('today is yy-mm-dd',now);
FormatdateTime('today is yymmdd',now);
输出为: today is 04-08-07
也可以用:来分开时间
FormatdateTime('today is hh:mm:ss',now);
输出为:today is 10:32:23常用的声明:
function FormatFloat(const Format: string; Value: Extended): string; overload;
和上面一样Format参数为格式化指令字符,Value为Extended类型
为什么是这个类型,因为它是所有浮点值中表示范围最大的,如果传入该方法的参数
比如Double或者其他,则可以保存不会超出范围。
关键是看Format参数的用法
0这个指定相应的位数的指令。
比如:FormatFloat('000.000',22.22);
输出的就是022.220
注意一点,如果整数部分的0的个数小于Value参数中整数的位数,则没有效果
如:FormatFloat('0.00',22.22);
输出的是:22.22
但如果小数部分的0小于Value中小数的倍数,则会截去相应的小数和位数
如:FormatFloat('0.0',22.22);
输出的是:22.2
也可以在整数0中指定逗号,这个整数位数必须大于3个,才会有逗号出句
FormatFloat('0,000.0',2222.22);
输出是:2,222.2
如果这样FormatFloat('000,0.0',2222.22);
它的输出还是:2,222.2
注意它的规律
#和0的用法一样,目前我还没有测出有什么不同。
FormatFloat('##.##',22.22);
输出是:22.00
E科学表示法,看几个例子大概就明白了
FormatFloat('0.00E+00',2222.22);
数据库时间格式的转换
c#
DateTime.ToString("yyyy-MM-DD")
需要用DateTime的时候在把STRING换回DateTime
=================================================================
Asp.net日期字符串格式化显示--DateTime.ToString()用法详解
我们经常会遇到对时间进行转换,达到不同的显示效果,默认格式为:2006-6-6 14:33:34
如果要换成成200606,06-2006,2006-6-6或更多的格式该怎么办呢?
这里将要用到:DateTime.ToString的方法(String, IFormatProvider)
示例:
using System;
using System.Globalization;
String format="D";
DateTime date=DataTime.Now;
Response.Write(date.ToString(format, DateTimeFormatInfo.InvariantInfo));
结果输出
Thursday, June 16, 2006
在这里列出了参数format格式详细用法
=======================
格式字符关联属性/说明
d ShortDatePattern
D LongDatePattern
f完整日期和时间(长日期和短时间)
F FullDateTimePattern(长日期和长时间)
g常规(短日期和短时间)
G常规(短日期和长时间)
m、M MonthDayPattern
r、R RFC1123Pattern
s使用当地时间的 SortableDateTimePattern(基于 ISO 8601)
t ShortTimePattern
T LongTimePattern
u UniversalSortableDateTimePattern用于显示通用时间的格式
U使用通用时间的完整日期和时间(长日期和长时间)
y、Y YearMonthPattern
下表列出了可被合并以构造自定义模式的模式
========================================
这些模式是区分大小写的;例如,识别“MM”,但不识别“mm”。如果自定义模式包含空白字符或用单引号括起来的字符,则输出字符串页也将包含这些字符。未定义为格式模式的一部分或未定义为格式字符的字符按其原义复制。
格式模式说明:
d月中的某一天。一位数的日期没有前导零。
dd月中的某一天。一位数的日期有一个前导零。
ddd周中某天的缩写名称,在 AbbreviatedDayNames中定义。
dddd周中某天的完整名称,在 DayNames中定义。
M月份数字。一位数的月份没有前导零。
MM月份数字。一位数的月份有一个前导零。
MMM月份的缩写名称,在 AbbreviatedMonthNames中定义。
MMMM月份的完整名称,在 MonthNames中定义。
y不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。
yy不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。
yyyy包括纪元的四位数的年份。
gg时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。
h 12小时制的小时。一位数的小时数没有前导零。
hh 12小时制的小时。一位数的小时数有前导零。
H 24小时制的小时。一位数的小时数没有前导零。
HH 24小时制的小时。一位数的小时数有前导零。
m分钟。一位数的分钟数没有前导零。
mm分钟。一位数的分钟数有一个前导零。
s秒。一位数的秒数没有前导零。
ss秒。一位数的秒数有一个前导零。
f秒的小数精度为一位。其余数字被截断。
ff秒的小数精度为两位。其余数字被截断。
fff秒的小数精度为三位。其余数字被截断。
ffff秒的小数精度为四位。其余数字被截断。
fffff秒的小数精度为五位。其余数字被截断。
ffffff秒的小数精度为六位。其余数字被截断。
fffffff秒的小数精度为七位。其余数字被截断。
t在 AMDesignator或 PMDesignator中定义的 AM/PM指示项的第一个字符(如果存在)。
tt在 AMDesignator或 PMDesignator中定义的 AM/PM指示项(如果存在)。
z时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数没有前导零。例如,太平洋标准时间是“-8”。
zz时区偏移量(“+”或“-”后面仅跟小时)。一位数的小时数有前导零。例如,太平洋标准时间是“-08”。
zzz完整时区偏移量(“+”或“-”后面跟有小时和分钟)。一位数的小时数和分钟数有前导零。例如,太平洋标准时间是“-08:00”。
:在 TimeSeparator中定义的默认时间分隔符。
/在 DateSeparator中定义的默认日期分隔符。
% c其中 c是格式模式(如果单独使用)。如果格式模式与原义字符或其他格式模式合并,则可以省略“%”字符。
\ c其中 c是任意字符。照原义显示字符。若要显示反斜杠字符,请使用“\\”。
只有上面第二个表中列出的格式模式才能用于创建自定义模式;在第一个表中列出的标准格式字符不能用于创建自定义模式。自定义模式的长度至少为两个字符;例如,
DateTime.ToString("d")返回 DateTime值;“d”是标准短日期模式。
DateTime.ToString("%d")返回月中的某天;“%d”是自定义模式。
DateTime.ToString("d")返回后面跟有一个空白字符的月中的某天;“d”是自定义模式。
比较方便的是,上面的参数可以随意组合,并且不会出错,多试试,肯定会找到你要的时间格式
如要得到2005年06月这样格式的时间
可以这样写:
date.ToString("yyyy年MM月", DateTimeFormatInfo.InvariantInfo)
如此类推.
下面列出一些Asp.net中具体的日期格式化用法:
============================================
1.绑定时格式化日期方法:
<ASP:BOUNDCOLUMN DATAFIELD="JoinTime" DATAFORMATSTRING="{0:yyyy-MM-dd}">
<ITEMSTYLE WIDTH="18%"></ITEMSTYLE>
</ASP:BOUNDCOLUMN>
2.数据控件如DataGrid/DataList等的件格式化日期方法:
e.Item.Cell[0].Text= Convert.ToDateTime(e.Item.Cell[0].Text).ToShortDateString();
3.用String类转换日期显示格式:
String.Format("yyyy-MM-dd",yourDateTime);
4.用Convert方法转换日期显示格式:
Convert.ToDateTime("2005-8-23").ToString
("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo);//支持繁体数据库
5.直接用ToString方法转换日期显示格式:
DateTime.Now.ToString("yyyyMMddhhmmss");
DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss")
6.只显示年月
DataBinder.Eval(Container.DataItem,"starttime","{0:yyyy-M}")
7.显示时间所有部分,包括:年月日时分秒
<asp:BoundColumn DataField="收款时间" HeaderText="收款时间"
DataFormatString="{0:yyyy-MM-dd HH24:mm:ss}">
</asp:BoundColumn>
delphi的formatdatetime函数怎么用啊
delphi中formatdatetime是格式化日期时间的函数,返回值是格式化后的字符串。
function FormatDateTime(const Format string; DateTime TDateTime) string;
第一个参数是格式化字符串,第二个参数是要格式化的日期时间。
你的语句formatdatetime('yyyymmdd', datetimepicker1.Date+10/24)中,格式化
字符串是'yyyymmdd',就是将datetimepicker1.Date+10/24格式化成'yyyymmdd'
的格式,其中yyyy代表4位年,mm代表2位月,dd代表2为日,所以是不可能将10/24
的时间加上去的。如果要加上时间的话,格式化字符串可以写成'yyyymmdd hh:nn:ss'。
关于formatdatetime 时间格式和datetime转换成date的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。