将毫秒转换为SQL日期时间
如何将毫秒转换为SQL日期时间 我将变量start&end按如下方式传输:将毫秒转换为SQL日期时间,sql,datetime,Sql,Datetime,如何将毫秒转换为SQL日期时间 我将变量start&end按如下方式传输: var interval = scheduler.GetSelectedInterval(); var resourceId = scheduler.GetSelectedResource(); var start = _aspxDateTimeToMilliseconds(interval.start); var end = _aspxDateTimeToMilliseconds(interval.end);
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方法中使用的零日期。您使用的是什么RDBMS?请添加适当的标记,您要将毫秒与什么进行比较?1-1-1970? 如果是这样的话,您可以获取一个datetime,然后插入到sql Server中。谢谢,但我收到了一条错误消息:参数的数据类型nvarchar对于dateadd的参数2无效function@user609511:您不能指定参数应为数字吗?否则您必须将字符串转换为数字:dateaddms,caststart为bigint,'19800101'谢谢您…现在我在将表达式转换为数据类型int时出现算术溢出错误。@user609511:An int无法处理大于2147483648的数字,这就是我在示例中使用bigint的原因。@Guffa您确定要使用1980吗?Unix纪元始于1970年,大多数时间戳/毫秒从那时开始计数。