所以我在PHP中有这两个时间戳
1253339331
1253338959
Run Code Online (Sandbox Code Playgroud)
我希望能够以某种方式获得那些与日期时间之间的小时差异.我们的用户在第一次尝试后应该只有24小时的登录时间,因此我需要查看是否允许他们再次登录不到24小时.
你能否请一下如何从unixtime中删除一小时.
我有一个unixtime,我需要在转换到正常时间之前删除额外的一小时.你能建议怎么做吗?
另外,Unix时间受GMT时间变化的影响吗?
是否可以为MarshalAs属性类定义自定义UnmanagedType?具体来说,我想将long int unix时间转换为DateTime类型.像这样的东西:
[MarshalAs(UnmanagedType.LongTimeUnix)]
public DateTime Time;
Run Code Online (Sandbox Code Playgroud)
我在哪里放置自定义LongTimeUnix枚举类型以及放置时间转换代码的位置:
public static DateTime ConvertUnix2DateTime(long timeStamp)
{
DateTime DT = new DateTime(1970, 1, 1, 0, 0, 0, 0);
DT = DT.AddSeconds(timeStamp);
return DT;
}
Run Code Online (Sandbox Code Playgroud)
使用时传输数据
(SomeStruct)Marshal.PtrToStructure(
IntPtr,
typeof(SomeStruct));
Run Code Online (Sandbox Code Playgroud)
我希望长时间使用上面的代码sinppet自动转换unix.我是否必须继承MarshalAs类并将转换写入此类?谢谢,Juergen
更新 这里是自定义编组:
class MarshalTest : ICustomMarshaler
{
public void CleanUpManagedData(object ManagedObj)
{
throw new NotImplementedException();
}
public void CleanUpNativeData(IntPtr pNativeData)
{
throw new NotImplementedException();
}
public int GetNativeDataSize()
{
return 8;
}
public IntPtr MarshalManagedToNative(object ManagedObj)
{
throw new NotImplementedException();
}
public object MarshalNativeToManaged(IntPtr …Run Code Online (Sandbox Code Playgroud) 鉴于我有2个时间戳:
1332954000
Run Code Online (Sandbox Code Playgroud)
这是人类可读格式的下午18:00.我从strtotime("18:00")得到了这个
和
1330992000
Run Code Online (Sandbox Code Playgroud)
这是2012年3月6日的人类可读格式
如何将它们添加到一起,以便它将在2012年3月6日星期二下午18:00以Unix时间戳格式出现?
我想知道是否有一种简单的方法(比如使用strtotime),我可以获得最后一次日/月组合的unix时间.例如,如果我今天要求"9月1日"(2012年5月9日),我会得到1314835200(2011年9月1日),但如果代码将在今年10月再次运行,我会得到1346457600(2012年9月1日)如果我从现在开始运行它,也是如此.
能够向前和向后做这将是一个巨大的奖金.
根据http://www.php.net/manual/en/function.date.php
可选的timestamp参数是整数Unix时间戳,如果未给出时间戳,则默认为当前本地时间.换句话说,它默认为time()的值.
但是,在time()的定义中没有提到它是时区依赖的.哪一个是对的?
我正在使用mysql,我无法考虑查询来计算特定日期范围内的用户/访问者数量.我目前正在使用的方式是使用php,我选择日期范围并在for循环中处理数据然后只计算它们.它实际上非常简单,但问题是这种方法不适用于几百万行的大数据.另一种方法是仅使用mysql计算不同的值,只使用timestamp列上的索引返回计数而不是实际数据.此外,将列转换为日期时间不是一种选择.我有什么想法可以达到这个目的吗?
这是我需要的示例结果集:
date | count
5-01-13 14
5-02-13 44
5-03-13 23
5-04-13 13
Run Code Online (Sandbox Code Playgroud)
我的问题是我不知道如何按天分组时间戳列.
我正在尝试设置一个查询,以便拉出今天生日那天的所有客户.我正在使用phpmyadmin localhostvia Unix socket,生日被设置为DATE.
所有我需要的是返回的firstname (emp.emp_firstname as第一个名字),lastname (emp.emp_lastname as姓氏)和date of birth (emp_birthday as 'dob')
我想将日期格式更改为2013-08-01我文件中的当前格式8/10/13,该文件包含数千条记录,我也有大量文件.
请在此建议,如何转换.
+abcd 2013^8/1/13^Bing^Milwaukee_abcd High Volume^Abcd^izvd4PZo^^Wisconsin^Chicago^http://ad.abcd.net/clk;256581924;80198650;s;u=ms&sv1=izvd4PZo&sv2={AdId}&sv3=3392oik17016&sv4={keyword}&sv5={matchtype};?http://www.chicago.buyacar.com/specials?srchid=|Milwaukee_cdhdf+High+Volume|_%2Berhefn_2013^Broad^5^1^1.47^
+sjhrejk models^8/1/13^Bing^Milwaukee_shdh High Volume^fhekj^9NT23JfC^^Wisconsin^Chicago^http://ad.fhd.net/clk;256581924;80198650;s;u=ms&sv1=9NT23JfC&sv2={AdId}&sv3=3392oik17016&sv4={keyword}&sv5={matchtype};?http://www.chicago.buyhfrkeu.com/specials?srchid=|Milwaukee_djkjfhkd+High+Volume|_%2Bdhk_models^Broad^14^4^5.58^
buy a +jkdsh^8/1/13^Bing^Milwaukee_kjfheu High Volume^jkdfhdj^T0ncFpv4^^Wisconsin^Chicago^http://ad.jfd.net/clk;256581924;80198650;s;u=ms&sv1=T0ncFpv4&sv2={AdId}&sv3=3392oik17016&sv4={keyword}&sv5={matchtype};?http://www.chicago.buyfjj.com/specials?srchid=|Milwaukee_jefrhjd+High+Volume|buy_a_%2Bfhd^Broad^15^1^2.44^
Run Code Online (Sandbox Code Playgroud)
谢谢 !!
我是perl的初学者,并尝试使用我的第一个perl脚本将时间信息转换为特定格式.我理解其他stackoverflow问题中的月份Jan = 0和1900年= 0 in perl.即使在调整它们之后,我也没有在unix和perl之间看到相同的输出.
这是我尝试过的东西.
Unix的:
date -d @ 915149280
给我:
美国东部时间1998年12月31日19:08:00
Perl的:
$time = 915149280;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($time);
$year = $year + 1900;
$mon = $mon + 1;
print "Formated time = $mday/$mon/$year $hour:$min:$sec $weekday[$wday]\n";
Run Code Online (Sandbox Code Playgroud)
给我:
形成时间= 1/1/1999 0:8:0周五
perl行中有错误吗?我该怎么做才能获得与date命令相同的输出?(不是格式化部分,而是时间)
我不是在寻找所有的领域,只有这一年对我很重要.