易语言里怎么实现C#中的DateTime.Now.Ticks.ToString()

易语言里怎么实现C#中的DateTime.Now.Ticks.ToString(),第1张

一个以01纳秒为单位的时间戳,

就是一个long型的数,

其实datetime本质上就是一个long型的,通过01纳秒的单位,换算成各种时间,如果分,秒,年月日等等这些组合起来就是一个datetime类型了

python时间处理方法datetime(),下面就举几个代码案例进行说明,代码如下:

 # -- coding: utf-8 -- 

 # 运行环境:Python34

 #datetime类

 #datetime是date与time的结合体,包括date与time的所有信息。

 #它的构造函数如下:

 #datetime datetime (year, month, day[ , hour[ , minute[ , second[ , microsecond[ , tzinfo] ] ] ] ] )

 #各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

# 1 datetime类定义的类属性与方法:

#datetimemin、datetimemax:datetime所能表示的最小值与最大值;

#print: datetimemax: 9999-12-31 23:59:59999999

#print: datetimemin: 0001-01-01 00:00:00

from  datetime  import   

import time

print   ('datetimemax:' +str(datetimemax )) 

print   ('datetimemin:' +str(datetimemin))  

#datetimeresolution:datetime最小单位;

#print: datetimeresolution: 0:00:00000001

print   ('datetimeresolution:' + str(datetimeresolution ))

#datetimetoday():返回一个表示当前本地时间的datetime对象;

#print: today(): 2012-09-12 19:37:50721000

print   ('today():' +str(datetimetoday() ))

#datetimenow([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;

#print: now(): 2012-09-12 19:37:50738000

print   ('now():'+str( datetimenow() ))

#datetimeutcnow():返回一个当前utc时间的datetime对象;

#print: 2012-09-12 11:37:50739000

print   ('utcnow():' +str(datetimeutcnow() )) 

#datetimefromtimestamp(timestamp[, tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;

#print: fromtimestamp(tmstmp): 2012-09-12 19:37:50741000

print   ('fromtimestamp(tmstmp):' +str(datetimefromtimestamp(timetime()) ))

#datetimeutcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;

#print: utcfromtimestamp(tmstmp): 2012-09-12 11:37:50742000

print   ('utcfromtimestamp(tmstmp):' +str(datetimeutcfromtimestamp(timetime())) )

#datetimecombine(date, time):根据date和time,创建一个datetime对象;

#print: datetimecombine(date,time):  2012-09-12 19:46:05

d = date(2012,9,12)

from  datetime  import   

t = time(19,46,5)

print ('datetimecombine(date,time): '+str(datetimecombine(d,t)))

#datetimestrptime(date_string, format):将格式字符串转换为datetime对象;

#print: 2007-03-04 21:08:12

print (datetimestrptime("2007-03-04 21:08:12", "%Y-%m-%d %H:%M:%S"))

#2 datetime类提供的实例方法与属性

dt = datetimestrptime("2012-09-12 21:08:12", "%Y-%m-%d %H:%M:%S")

#print: 2012 9 12 21 8 12 0 None

print (dtyear)

print(dtmonth)

print(dtday)

print(dthour)

print(dtminute)

print(dtsecond)

print(dtmicrosecond)

print(dttzinfo)

print (dtdate())

print (dttime())

print (dtreplace(year = 2013))

print (dttimetuple())

print (dtutctimetuple())

print (dttoordinal())

print (dtweekday())

print (dtisocalendar())

#print dtisoformat([sep])

#datetime ctime ():返回一个日期时间的C格式字符串,等效于timectime(timemktime(dttimetuple()));

#3 格式字符串

# datetime strftime (format)

# %a 星期的简写。如 星期三为Web

# %A 星期的全写。如 星期三为Wednesday

# %b 月份的简写。如4月份为Apr

# %B月份的全写。如4月份为April 

# %c:  日期时间的字符串表示。(如: 04/07/10 10:43:39)

# %d:  日在这个月中的天数(是这个月的第几天)

# %f:  微秒(范围[0,999999])

# %H:  小时(24小时制,[0, 23])

# %I:  小时(12小时制,[0, 11])

# %j:  日在年中的天数 [001,366](是当年的第几天)

# %m:  月份([01,12])

# %M:  分钟([00,59])

# %p:  AM或者PM

# %S:  秒(范围为[00,61],为什么不是[00, 59],参考python手册~_~)

# %U:  周在当年的周数当年的第几周),星期天作为周的第一天

# %w:  今天在这周的天数,范围为[0, 6],6表示星期天

# %W:  周在当年的周数(是当年的第几周),星期一作为周的第一天

# %x:  日期字符串(如:04/07/10)

# %X:  时间字符串(如:10:43:39)

# %y:  2个数字表示的年份

# %Y:  4个数字表示的年份

# %z:  与utc时间的间隔 (如果是本地时间,返回空字符串)

# %Z:  时区名称(如果是本地时间,返回空字符串)

# %%:  %% => %

dt = datetimenow()

#print: (%Y-%m-%d %H:%M:%S %f):  2012-09-12 23:04:27 145000

print ('(%Y-%m-%d %H:%M:%S %f): '+ str(dtstrftime('%Y-%m-%d %H:%M:%S %f')))

#print: (%Y-%m-%d %H:%M:%S %p):  12-09-12 11:04:27 PM

print ('(%Y-%m-%d %H:%M:%S %p): '+str(dtstrftime('%y-%m-%d %I:%M:%S %p')))

#print: %a: Wed 

print ('%%a: %s ' % dtstrftime('%a'))

#print: %A: Wednesday

print ('%%A: %s ' % dtstrftime('%A'))

#print: %b: Sep 

print ('%%b: %s ' % dtstrftime('%b'))

#print: %B: September

print ('%%B: %s ' % dtstrftime('%B'))

#print: 日期时间%c: 09/12/12 23:04:27

print ('日期时间%%c: %s ' % dtstrftime('%c'))

#print: 日期%x:09/12/12

print ('日期%%x:%s ' % dtstrftime('%x'))

#print: 时间%X:23:04:27

print ('时间%%X:%s ' % dtstrftime('%X'))

#print: 今天是这周的第3天

print ('今天是这周的第%s天 ' % dtstrftime('%w'))

#print: 今天是今年的第256天 

print ('今天是今年的第%s天 ' % dtstrftime('%j'))

#print: 今周是今年的第37周

print ('今周是今年的第%s周 ' % dtstrftime('%U'))

上面代码案例运行结果如下:

atetimemax:9999-12-31 23:59:59999999

datetimemin:0001-01-01 00:00:00

datetimeresolution:0:00:00000001

today():2014-05-04 15:58:18141186

now():2014-05-04 15:58:18193146

utcnow():2014-05-04 07:58:18243958

fromtimestamp(tmstmp):2014-05-04 15:58:18291558

utcfromtimestamp(tmstmp):2014-05-04 07:58:18342550

datetimecombine(date,time): 2012-09-12 19:46:05

2007-03-04 21:08:12

2012

9

12

21

8

12

0

None

2012-09-12

21:08:12

2013-09-12 21:08:12

timestruct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=-1)

timestruct_time(tm_year=2012, tm_mon=9, tm_mday=12, tm_hour=21, tm_min=8, tm_sec=12, tm_wday=2, tm_yday=256, tm_isdst=0)

734758

2

(2012, 37, 3)

(%Y-%m-%d %H:%M:%S %f): 2014-05-04 15:58:19 326295

(%Y-%m-%d %H:%M:%S %p): 14-05-04 03:58:19 PM

%a: Sun 

%A: Sunday 

%b: May 

%B: May 

日期时间%c: Sun May  4 15:58:19 2014 

日期%x:05/04/14 

时间%X:15:58:19 

今天是这周的第0天 

今天是今年的第124天 

今周是今年的第18周

select 表1日期1-表2日期2 as 间隔时间 from 表1,表2 where 表1跟表2的关系

或者不要条件

这种方法估计不是很好,我一般用的方法是,建立两个SqlDataReader然后在程序里面处理,

用sdr1里面的对应列减去sdr2里面的对应列,做个循环就可以,在C#中 datetime类型减去datetime类型结果是 timespan类型 例:TimeSpan ts = DateTimeNow - new DateTime(2008, 1, 1);

建议在程序中完成,SQL计算机时间要算错(只是我用的时候,高手算不算错我就不知道了)

你想获取这个时间间隔,可以在事件外做个计数器(int js=0;)和记录上次时间的变量(DateTime time;),然后在鼠标单击事件中

js++;

if(js==2)

{

TimeSpan ts=DateTimeNow-time;//ts就是结果

js=0;

}else

{

time=DateTimeNow;

}

这个只能取到1次和2次,3次和4次的间隔时间,取不到2次和3次的间隔

如果是所有点击的上次和本次时间间隔,如下

在事件外定义一个变量DateTime time=DateTimeMinValue;事件中

if(time==DateTimeMinValue)

{

time=DateTimeNow;

}else

{

TimeSpan ts=DateTimeNow-time;//ts就是结果

}

可以用DATEDIF函数计算两个日期之间的天数。

1、以excel2010版本为例,如下图所示有两个日期,要算这两个日期之间的相隔的天数;

2、首先在单元格C2输入DATEDIF公式=DATEDIF(A2,B2,"d"),按enter键即可得出A2和B2的间隔天数,其中公式中的字母“d”是指day天的意思;

3、假如C列想显示成“217天”,则可直接在公式末尾加上&"天"后按回车键就可以了;

4、再把公式下拉填充到其他行,也可计算其他日期之间的天数。

//取得某月的最后一天

//方法一:使用算出该月多少天,年+月+加上多少天即得,举例取今天这个月的最后一天

private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)

{

int Dtyear, DtMonth;

DtStart = DateTimeNow;

Dtyear = DtStartYear;

DtMonth = DtStartMonth;

int MonthCount = DateTimeDaysInMonth(Dtyear, DtMonth);//计算该月有多少天

DtEnd = ConvertToDateTime(DtyearToString() + "-" + DtMonthToString() + "-" + MonthCount);

}

//方法二:取出下月的第一天减去一天便是这个月的最后一天

private void GetLastDateForMonth(DateTime DtStart, out DateTime DtEnd)

{

int Dtyear, DtMonth;

DtStart = DateTimeNowAddMonths(1);//月份加1

Dtyear = DtStartYear;

DtMonth = DtStartMonth;

DtEnd = ConvertToDateTime(DtyearToString() + "-" + DtMonthToString() + "-" + "1")AddDays(-1);//取出下月的第一天减去一天

}

二、时间差的计算

法一、使用TimeSpan ,同时也介绍一下TimeSpan的用法

相关属性和函数

Add:与另一个TimeSpan值相加。

Days:返回用天数计算的TimeSpan值。

Duration:获取TimeSpan的绝对值。

Hours:返回用小时计算的TimeSpan值

Milliseconds:返回用毫秒计算的TimeSpan值。

Minutes:返回用分钟计算的TimeSpan值。

Negate:返回当前实例的相反数。

Seconds:返回用秒计算的TimeSpan值。

Subtract:从中减去另一个TimeSpan值。

Ticks:返回TimeSpan值的tick数。

TotalDays:返回TimeSpan值表示的天数。

TotalHours:返回TimeSpan值表示的小时数。

TotalMilliseconds:返回TimeSpan值表示的毫秒数。

TotalMinutes:返回TimeSpan值表示的分钟数。

TotalSeconds:返回TimeSpan值表示的秒数。

简单示例:

DateTime d1 =new DateTime(2004,1,1,15,36,05);

DateTime d2 =new DateTime(2004,3,1,20,16,35);

TimeSpan d3 = d2Subtract(d1);

LbTimeText = "相差:"

+d3DaysToString()+"天"

+d3HoursToString()+"小时"

+d3MinutesToString()+"分钟"

+d3SecondsToString()+"秒";

法二、使用Sql中的DATEDIFF函数

使用方法:DATEDIFF ( datepart , startdate , enddate )

它能帮你取出你想要的各种形式的时间差,如相隔多少天,多少小时,多少分钟等,具体格式如下:

日期部分缩写

year yy, yyyy

quarter qq, q

Month mm, m

dayofyear dy, y

Day dd, d

Week wk, ww

Hour hh

minute mi, n

second ss, s

millisecond ms

如:datediff(mi,DtOpTime,DtEnd) 便能取出他们之间时间差的分钟总数,已经帮你换算好了,对于要求规定单位,时、分、秒特别有用

三 计算两个日期之间相差的工作日天数(转载:>

以上就是关于易语言里怎么实现C#中的DateTime.Now.Ticks.ToString()全部的内容,包括:易语言里怎么实现C#中的DateTime.Now.Ticks.ToString()、python datetime处理时间、SQL中怎样得出两个DATATIME类型相差的时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9510681.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存