将毫秒转换为SQL日期时间
如何将毫秒转换为SQL日期时间?将毫秒转换为SQL日期时间
我传递变量开始&结束这样的:
var interval = scheduler.GetSelectedInterval();
var resourceId = scheduler.GetSelectedResource();
var start = _aspxDateTimeToMilliseconds(interval.start);
var end = _aspxDateTimeToMilliseconds(interval.end);
window.location.href =
"FicheAgenda.aspx?Page=ACTION&Mode=Creation&start=" +
start + "&end=" + end +"&resourceId=" + resourceId;
输出:
FicheAgenda.aspx?Page=ACTION&Mode=Creation&start=1334579400000&end=1334584800000&resourceId=24
和FicheAgenda.aspx我想这个开始&终值转换为日期时间
<asp:SqlDataSource ID="SqlDataSource_Activity" runat="server"
ConnectionString="<%$ ConnectionStrings:OnyxConnectionString %>"
SelectCommand="SELECT DISTINCT [ID_ACTIVITE], [LIBELLE_ACTIVITE]
FROM [ESPTEMPS_ACTIVITE]
LEFT JOIN ESPTEMPS_PROGRAMMATION
ON ESPTEMPS_ACTIVITE.ID_ACTIVITE = ESPTEMPS_PROGRAMMATION.ID_ACTIVITY
WHERE DATEADD(MINUTE,
CONVERT(int, SUBSTRING(HEURE_DEBUT, 3, 2)),
DATEADD(HOUR,
CONVERT(int, SUBSTRING(HEURE_DEBUT, 1, 2)),
DATE_DEBUT))
< convert(datetime,@StartDate)
AND
DATEADD(MINUTE,
CONVERT(int, SUBSTRING(HEURE_FIN, 3, 2)),
DATEADD(HOUR,
CONVERT(int, SUBSTRING(HEURE_FIN, 1, 2)), DATE_FIN))
> convert(datetime,@EndDate) ">
<SelectParameters>
<asp:QueryStringParameter Name="StartDate" QueryStringField="start" />
<asp:QueryStringParameter Name="EndDate" QueryStringField="end" />
</SelectParameters>
</asp:SqlDataSource>
使用dateadd
函数上,例如:
dateadd(ms, start, '19800101')
其中1980-01-01
将是您在_aspxDateTimeToMilliseconds
方法使用“零”日期。
谢谢你,但我得到了这个消息错误:参数的数据类型nvarchar对dateadd函数的参数2无效 – user609511 2012-04-19 13:03:04
@ user609511:Can'你指定参数应该是数字吗?否则,你必须将字符串转换为数字:'dateadd(ms,cast(以bigint开头),'19800101')' – Guffa 2012-04-19 13:09:27
谢谢你......现在我得到了将表达式转换为数据类型int时发生的算术溢出错误。 – user609511 2012-04-19 13:16:52
您使用的是什么RDBMS? (请添加适当的标签) – 2012-04-19 12:55:05
你将比较毫秒与? 1970年1月1日?如果是的话你可以得到一个日期时间,然后插入到sql server – Habib 2012-04-19 12:55:22
我的意思是Unix时代 – Habib 2012-04-19 12:55:52