小编Joe*_*yle的帖子

php程序找到我的生日,其中一天名称"星期一"再过100年

我出生于1986-04-21,也就是星期一.我的下一个生日,日名"星期一"是1997-04-21,依此类推.

我写了这个程序,找到了长达100年的时间,找到我的生日来年哪一天是星期一的匹配日名.

这是代码:

<?php
date_default_timezone_set('Asia/Calcutta');
for($year = 1986; $year < 2086; $year++) {
    $timestamp = mktime(0, 0, 0, 4, 21, $year);
    if(date('l', $timestamp) == 'Monday') {
        echo date('Y-m-d, l', $timestamp) . "\n";
    }
}
?>
Run Code Online (Sandbox Code Playgroud)

这是该程序的输出:

1986-04-21, Monday
1997-04-21, Monday
2003-04-21, Monday
2008-04-21, Monday
2014-04-21, Monday
2025-04-21, Monday
2031-04-21, Monday
2036-04-21, Monday
Run Code Online (Sandbox Code Playgroud)

现在我的问题是为什么PHP在1970年之前和2040年之后都没有支持.
那么我怎样才能在2040年之后或1970年之前获得生日呢?

php date calculator match

4
推荐指数
2
解决办法
1093
查看次数

CakePHP月份名称翻译

使用时将月份名称翻译成另一种语言的最佳方法是什么

$form->input('date_field');
Run Code Online (Sandbox Code Playgroud)

translation cakephp date

4
推荐指数
1
解决办法
4201
查看次数

将日期转换为最接近的月末日期MATLAB

我需要将datenumber转换为最接近的月末日期.我发现了一个在线链接,但对于大型矩阵来说效率非常低(http://www.mathworks.com/matlabcentral/fileexchange/26374-round-off-dates-and-times).Matlab(Financial Toolbox)是否具有内置功能?我找不到它.

date_in = 734421 ;
somefunction(date_in) --> Sept 2010
Run Code Online (Sandbox Code Playgroud)

谢谢!

matlab date financial

4
推荐指数
1
解决办法
2520
查看次数

是否有更短的方式编写`StringPtr?StringPtr:"null"`?

我有这个代码:

 std::wstringstream outstream;
 outstream << (prop.m_pwszOriginalVolumeName 
             ? prop.m_pwszOriginalVolumeName 
             : L"null") << L";"
           << (prop.m_pwszSnapshotDeviceObject 
             ? prop.m_pwszSnapshotDeviceObject 
             : L"null") << L";"
           << (prop.m_pwszOriginatingMachine 
             ? prop.m_pwszOriginatingMachine
             : L"null") << L";"
           << ... // some more strings here
Run Code Online (Sandbox Code Playgroud)

有没有办法避免代码重复,仍然有简洁的代码?

c++ conditional-operator

4
推荐指数
1
解决办法
578
查看次数

Mongo DB嵌套分片键

我有关于Mongo分片键的问题.我有以下列方式构建的文档:

{
    "payload": {
        "id": "364e1f2c-6d4c-45fb-af19-841149286d67",
        "name": "John",
    },
    "source": "myApp",
    "version": "1.0",
    "additionalInfo": {
        "time": "2012-04-18T17:32:11+03:00"
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望我的分片键为:payload.name和additionalInfo.time.以下命令在语法错误时失败:

db.runCommand({ shardcollection : "collection.table", key : {additionalInfo.time: 1, payload.name: 1}})
Run Code Online (Sandbox Code Playgroud)

是否可以创建这样的分片键或仅可以接受顶级键.此外,如果我尝试插入没有分片键字段的文档,插入是否会失败?

sharding mongodb

4
推荐指数
1
解决办法
621
查看次数

MySQL Query来计算上周

我想计算上周的总订单金额.

我得到了从当前日期获取过去7天数据的查询.

SELECT SUM(goods_total) AS Total_Amount  FROM orders
WHERE order_placed_date >= date_sub(current_date, INTERVAL 7 day);
Run Code Online (Sandbox Code Playgroud)

现在我怎样才能获得上周的数据,不包括本周.

例如,本周我赚了15,000美元,上周我赚了14,000美元.

我通过运行上面的查询得到$ 15,000.

但我不知道如何计算前一周.

mysql

3
推荐指数
1
解决办法
7137
查看次数

如何在Python中获取unicode月份名称?

我想获得一个unicode版本calendar.month_abbr[6].如果我没有为语言环境指定编码,我不知道如何将字符串转换为unicode.下面的示例代码显示了我的问题:

>>> import locale
>>> import calendar
>>> locale.setlocale(locale.LC_ALL, ("ru_RU"))
'ru_RU'
>>> print repr(calendar.month_abbr[6])
'\xb8\xee\xdd'
>>> print repr(calendar.month_abbr[6].decode("utf8"))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.5/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb8 in position 0: unexpected code byte
>>> locale.setlocale(locale.LC_ALL, ("ru_RU", "utf8"))
'ru_RU.UTF8'
>>> print repr(calendar.month_abbr[6])
'\xd0\x98\xd1\x8e\xd0\xbd'
>>> print repr(calendar.month_abbr[6].decode("utf8"))
u'\u0418\u044e\u043d'
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题?解决方案不必看起来像这样.任何给我在unicode中缩写月份名称的解决方案都很好.

python unicode

3
推荐指数
1
解决办法
3137
查看次数

如何实现iphone日历日视图

有谁知道如何实现类似于iPhone日历日视图的视图?

iphone calendar view

3
推荐指数
1
解决办法
2188
查看次数

从单个日期获取日期范围

我当然可以自己做,但是Ruby或库中有内置功能,可以让我这样做

date = Time.now
sunday = date.week.first_day
saturday = date.week.last_day
Run Code Online (Sandbox Code Playgroud)

谢谢

ruby date date-range

3
推荐指数
1
解决办法
945
查看次数

过去DateTimes的C#列表

我有一个返回过去x天的方法,它目前执行以下操作:

var dates = new List<DateTime>();

for (int i = 0; i < numDays; i++)
{
    dates.Add(DateTime.Today.AddDays(-i));
}

return dates;
Run Code Online (Sandbox Code Playgroud)

我觉得应该有一个更紧凑的方式来做这个,也许使用LINQ.建议?另外,如果我按照我的方式保留它,那么如果我将它DateTime.Today存储在循环外的变量中然后在循环中调用AddDays该值,那么这将更有效吗?

编辑: LINQ使用懒惰评估,对吧?我的头脑中有疯狂的图像:

return DateTime.AllDaysInTheHistoryOfTimeEver.Where(day =>
    day.BeforeOrOn(DateTime.Today) &&
    day.After(DateTime.Today.AddDays(-numDays))
);
Run Code Online (Sandbox Code Playgroud)

c# datetime

3
推荐指数
1
解决办法
196
查看次数