我写了这段代码.但我想忽略时间,我只想比较一天.
from s in sayac_okumalari
where s.okuma_tarihi == startDate && s.sayac_id == sayac_id
group s by new { date = new DateTime(((DateTime)s.okuma_tarihi).Year, ((DateTime)s.okuma_tarihi).Month, ((DateTime)s.okuma_tarihi).Day, ((DateTime)s.okuma_tarihi).Hour, 1, 1) } into g
select new
{
okuma_tarihi = g.Key.date,
T1 = g.Sum(x => x.toplam_kullanim_T1),
T2 = g.Sum(x => x.toplam_kullanim_T2),
T3 = g.Sum(x => x.toplam_kullanim_T3)
};
Run Code Online (Sandbox Code Playgroud)
例如:
25.02.1987 == 25.02.1987
Run Code Online (Sandbox Code Playgroud) 我将日期与这样的事情进行比较:
var dt = new Date();
dt.setDate("17");
dt.setMonth(06);
dt.setYear("2009");
var date = new Date();
console.log("dt(%s) == date(%s) == (%s)", dt, date, (dt == date) );
if( now == dt ) {
....
}
Run Code Online (Sandbox Code Playgroud)
字符串值当然是动态的.
在日志中我看到:
dt(Fri Jul 17 2009 18:36:56 GMT-0500 (CST)) == date(Fri Jul 17 2009 18:36:56 GMT-0500 (CST) == (false)
Run Code Online (Sandbox Code Playgroud)
我试过.equals()但它没有用(我正在尝试JavaScript的Java部分:P)
如何比较这些日期以便它们返回true?
这本来是一个关于如何实现这个问题的问题,因为我被困在某一部分,但我现在很好奇为什么这首先发生了.如果时间没有差别,我只需要比较日期而不是时间,这不是问题.下面的代码显示了我最初尝试的查询
SELECT *
FROM Employee e
inner join OT_Hours o on o.Emp_ID=e.Emp_ID
inner join Position p on p.Position_ID=e.Position_ID
inner join Signup_Sheet s on s.Employee_ID=e.Emp_ID
WHERE e.Eligible_OT=1 and s.Day_Shift = 1
and p.Position_Name = 'Controller'
and Convert(Varchar(20),s.Date,101) = '07/26/2010'
and Convert(Varchar(20),o.Date,101) <='07/26/2010'
and Convert(Varchar(20),o.Date,101) > '07/26/2009'
and o.Quantity NOT IN(0.3) order by o.Date DESC
Run Code Online (Sandbox Code Playgroud)
当我运行该查询时,我没有得到任何结果,但当我删除第二行后,它将返回12个结果(<=),当我删除第3个最后一行但保留第二个最后一行时,它将返回6个结果(>).在查看数据后,我可以看到应该返回其中4个结果.现在为了奇怪的部分.以下是我目前使用的代码.
SELECT DISTINCT o.Date, e.Emp_ID as Emp_ID, e.First_Name+ ' ' +e.Last_Name as Name, o.Quantity as Sum
FROM Employee e
left join OT_Hours o on o.Emp_ID=e.Emp_ID
left join …Run Code Online (Sandbox Code Playgroud) 据我所知,我有两个相同的日期.
$theDate = (Get-Date -Hour 0 -Minute 00 -Second 00)
$otherDate = (Get-Date -Hour 0 -Minute 00 -Second 00)
Run Code Online (Sandbox Code Playgroud)
按顺序执行
这两个都显示为Monday, May 11, 2015 12:00:00 AM,但是当我这样做($theDate -eq $otherDate)时返回false.我试着$theDate.equals($otherDate)和 (($theDate) -eq ($otherDate))同样的事情.我唯一可以归还的是($theDate -gt $otherDate)
我是疯了还是只是一个菜鸟?
检查日期是否在Java中的两个日期之间的标准方法如下所示:
public static boolean isWithinRange(Date date, Date startDate, Date endDate) {
return !(date.before(startDate) || date.after(endDate));
}
Run Code Online (Sandbox Code Playgroud)
我想在startDate或endDate上添加对null值的支持(意味着用户没有输入日期.如果startDate为null,我只想检查endDate,如果endDate为null,我只想检查startDate,如果两者都是null,那么它是是的.我目前的解决方案如下:
public static boolean isWithinRange(Date date, Date startDate, Date endDate) {
if (startDate == null && endDate == null) {
return true;
}
if (!(startDate != null || !date.after(endDate))) {
return true;
}
if (!(endDate != null || !date.before(startDate))) {
return true;
}
return !(date.before(startDate) || date.after(endDate));
}
Run Code Online (Sandbox Code Playgroud)
替代更可读的例子:
public static boolean isWithinRange(Date date, Date startDate, Date endDate) {
if (startDate == null && …Run Code Online (Sandbox Code Playgroud) 我得到的当前日期如下:
public void getCurrentDate(View view) {
Calendar calendar = Calendar.getInstance();
SimpleDateFormat mdformat = new SimpleDateFormat("yyyy / MM / dd ");
String strDate = "Current Date : " + mdformat.format(calendar.getTime());
display(strDate);
}
private void display(String num) {
TextView textView = (TextView) findViewById(R.id.current_date_view);
textView.setText(num);
}
Run Code Online (Sandbox Code Playgroud)
但我想检查该日期是否是今天的日期。但我不知道如何检查。
不得已,因为我无法为我的生活而努力!
我在用户默认设置中关闭我的应用程序(使用applicationWillTerminate)时设置了一个日期
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDate *timeClosed = [[NSDate alloc] init];
[defaults setObject: timeClosed forKey:@"svdTimeClosedApp"];
Run Code Online (Sandbox Code Playgroud)
然后当应用程序启动时,我想比较这个时间使用
NSDate *timeSaved = svdTimeClosedApp;
NSDate *timeNow = [[NSDate alloc] init];
double timeInterval = [timeSaved timeIntervalSinceDate:timeNow];
NSLog(@"time now = %@, time saved = %@, time diff = %@", timeNow, timeSaved, [NSString stringWithFormat:@"%d",timeInterval]);
Run Code Online (Sandbox Code Playgroud)
我试图将此输出到日志窗口,期望看到一个大约20秒的格式良好的字符串.麻烦的是,它出现了2047868928!
有任何想法吗?!
(下面的日志窗口输出)
time now = 2009-12-19 20:54:02 +0000, time saved = 2009-12-19 20:48:29 +0000, time diff = 2047868928
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我正在使用 YII CGridView 提供的默认搜索。我在搜索条件中有一个文本日期字段。我试图将传递的日期与数据库中的日期进行比较,但它们不匹配。我需要转换存储在数据库中的日期格式,因为数据库中的日期也有时间,我需要在比较日期之前删除时间,但我想不出办法来做到这一点。
在默认的 Search function() 中,这是我想在比较之前转换日期的行。我已经尝试过转换,但这似乎不起作用。
$criteria->compare(date("Y-m-d", strtotime('application_date')),
date("Y-m-d", strtotime($this->application_date)),true);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!!!
我试图检测特定日期是否在过去7天内(在上周内).我找到了一种方法来做到这一点,但它在tableview(聊天控制器)中吃掉了我的表现.
代码发布在下面,我知道它可以做得更好,但我的想法已经用完了.有人有更好的方法吗?谢谢!
代码:
NSDate *date = [[_messages objectAtIndex:indexPath.row] date];
NSString *lastMessageDateString = [[[NVDate alloc] initUsingDate:date] stringValueWithFormat:@"dd/MM/yy"];
NSString *todayDateString = [[[NVDate alloc] initUsingToday] stringValueWithFormat:@"dd/MM/yy"];
NSString *yesterdayDateString = [[[[NVDate alloc] initUsingToday] previousDay] stringValueWithFormat:@"dd/MM/yy"];
NSString *earlier2DaysDateString = [[[[NVDate alloc] initUsingToday] previousDays:2] stringValueWithFormat:@"dd/MM/yy"];
NSString *earlier3DaysDateString = [[[[NVDate alloc] initUsingToday] previousDays:3] stringValueWithFormat:@"dd/MM/yy"];
NSString *earlier4DaysDateString = [[[[NVDate alloc] initUsingToday] previousDays:4] stringValueWithFormat:@"dd/MM/yy"];
NSString *earlier5DaysDateString = [[[[NVDate alloc] initUsingToday] previousDays:5] stringValueWithFormat:@"dd/MM/yy"];
NSString *earlier6DaysDateString = [[[[NVDate alloc] initUsingToday] previousDays:6] stringValueWithFormat:@"dd/MM/yy"];
NSString *earlier7DaysDateString = [[[[NVDate alloc] initUsingToday] previousDays:7] stringValueWithFormat:@"dd/MM/yy"];
//return …Run Code Online (Sandbox Code Playgroud) 我有10个人的两个数据集.一个是矢量,另一个是矩阵.我想看到的是,向量的第一个元素是否包含在矩阵的第一行中,以及向量的第二个元素是否包含在矩阵的第二行中,依此类推.
所以,我将矢量更改为矩阵并用于apply逐行比较它们.但是,结果并不正确.
这是数据集.
df1<-matrix(c(rep(0,10),2,4,7,6,5,7,4,2,2,2),ncol=2)
df1
# [,1] [,2]
# [1,] 0 2
# [2,] 0 4
# [3,] 0 7
# [4,] 0 6
# [5,] 0 5
# [6,] 0 7
# [7,] 0 4
# [8,] 0 2
# [9,] 0 2
#[10,] 0 2
df2<-c(1,3,6,4,1,3,3,2,2,5)
df2<-as.matrix(df2)
apply(df2, 1, function(x) any(x==df1))
# [1] FALSE FALSE TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE
Run Code Online (Sandbox Code Playgroud)
但是,结果必须是FALSE除了第8和第9之外的所有结果.谁能纠正这个功能?谢谢!
date-comparison ×10
datetime ×3
date ×2
.net ×1
android ×1
c# ×1
cocoa-touch ×1
ios ×1
iphone ×1
java ×1
javascript ×1
linq ×1
nsdate ×1
php ×1
powershell ×1
r ×1
sql ×1
sql-server ×1
t-sql ×1
yii ×1