这是我的问题:我有一个用户输入日期,如:2012-12-24(字符串)我连接到该字符串的时间,并转换为java.util.Date我的代码如下所示:
String tempstartdate = startdte; //startdte is the string value from a txtfield
tempstartdate += " 00:01:00";
String tempenddate = startdte;
tempenddate += " 23:59:59";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
java.util.Date validstartdte = null;
java.util.Date validenddte = null;
validstartdte = df.parse(tempstartdate); //validstartdte is a util.Date (and works)
validenddte = df.parse(tempenddate);
Run Code Online (Sandbox Code Playgroud)
我的问题是,当我拿这个util.Date并想把它变成一个sql.Date时:
java.sql.Date sqlstartDate = new java.sql.Date(validstartdte.getTime());
java.sql.Date sqlendDate = new java.sql.Date(validenddte.getTime());
Run Code Online (Sandbox Code Playgroud)
它不会给我我指定的时间戳,它只会以yyyy-MM-dd(例如2012-12-23)的形式返回日期.
为什么!?我很沮丧.
注意:我注意到当我使用断点时,我能够扩展sqlendDate并看到有一个名为cdate的值返回:2012-12-12T23:59:59.000-0500我正在使用的数据库是PostgreSQL.
请帮忙!非常感激.
这在SQL中可行吗?这似乎是一个简单的概念.(我正在使用SQL Server 2005)
循环遍历我的SQL表中的所有行 - (这是我的vba excel脚本,但裸露在我身边)比较列m中的值,如果一行= 65而下一行等于120增加j,并在另一列(列中)打印该值q)
Sub InsertProductionCycle()
Dim LR As Long
Dim j As Integer
j = 1
LR = Range("G" & Rows.Count).End(xlUp).Row
For i = 1 To LR Step 1
Cells(i, "Q").Value = j
If Cells(i, "M").Value = 65 And Cells(i + 1, "M").Value = 190 Then
j = j + 1
End If
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
来自SQL专家的任何想法?我可以在SQL中执行此操作吗?我对此的想法是:可能循环有点延伸,(我可以在sql作业中运行),但是你可以比较行并在另一列中插入j循环值.那就是我被困住的地方.
-Andrea