我正在处理一个将从CSV文件导入一些数据的脚本。 因为我这样做,我想能够检查一个variables,看看它是否是一个有效的datestring。 我已经看到了几种方法来检查是否是一个date,但他们中的大多数需要你现在的格式。 我不会知道date的格式。 现在我正在使用strtotime(),但是这并不容易 $field ="May"; if(strtotime($field)){ echo "This is a date"; } 在这种情况下,“五月”是人名,而不是date。 任何一个可以推荐更可靠的function? 根据您的一些问题编辑。 对于一个variables作为一个“date”在我的情况下,它将需要特定于一天/一年/一年,所以只是“五月”将模糊计数。 基于这一点以及Pauls的好点,我们也可以testing一下,看看string是否包含数字,比如 $field ="May"; if(strtotime($field) && 1 === preg_match('~[0-9]~', $field)){ echo "This is a date"; }else{ echo "Nope not a date"; } 这似乎涵盖了我的迫切需求,但是任何一个问题都可以find或者提出改进build议?
我使用pandas.to_datetime来parsing数据中的date。 即使date全部是每日,大pandas默认代表datetime64[ns]的date。 我想知道是否有一个优雅的/巧妙的方式将date转换为datetime.date或datetime64[D]以便在将数据写入CSV时,date不会附加00:00:00 。 我知道我可以手动转换types的元素: [dt.to_datetime().date() for dt in df.dates] 但是,由于我有很多行,所以这非常慢,而这种做法pandas.to_datetime使用pandas.to_datetime的目的。 有没有办法一次转换整个列的dtype ? 或者, pandas.to_datetime支持精确的规范,以便在处理日常数据时可以摆脱时间部分?
我经常不需要在R中使用date,但我想这很容易。 我有一个表示数据框中的date的列。 我只是想创build一个新的数据框,使用date按月/年来总结第二列。 什么是最好的方法? 我想要第二个dataframe,所以我可以喂它到一个情节。 任何帮助,您可以提供将不胜感激! 编辑:供参考: > str(temp) 'data.frame': 215746 obs. of 2 variables: $ date : POSIXct, format: "2011-02-01" "2011-02-01" "2011-02-01" … $ amount: num 1.67 83.55 24.4 21.99 98.88 … > head(temp) date amount 1 2011-02-01 1.670 2 2011-02-01 83.550 3 2011-02-01 24.400 4 2011-02-01 21.990 5 2011-02-03 98.882 6 2011-02-03 24.900
我用args(年,月)做了新的对象Date.new。 在创buildruby之后默认为这个对象添加01个天数。 有什么办法可以不添加第一天,但是我通过了arg的月份的最后一天(例如,如果是02月28日,如果是01月31日)?
我想使用currentTimeMillis两次,所以我可以计算一个持续时间,但我也希望以用户可读格式显示时间和date。 由于currentTimeMillis对计算有好处,所以我遇到了麻烦,但是我无法看到内置的函数将转换为漂亮的时间或时间/date。 我用 android.text.format.DateFormat df = new android.text.format.DateFormat(); df.format("yyyy-MM-dd kk:mm:ss", new java.util.Date()); 为了生成好的时间和date,我最终想做的是显示我的结果currentTimeMillis值到android.text.format.DateFormat df = new android.text.format.DateFormat(); 例如 android.text.format.DateFormat df = currentTimeMillis(); 当我尝试我得到 types不匹配:无法从long转换为DateFormat 我试图使用一些铸造,但不知道如何做到这一点。
我正在查看date文档,并试图弄清楚我现在如何expression+5秒。 这是一些伪代码: import java.util.Date public class Main { public static void main(String args[]) { Date now = new Date(); now.setSeconds(now.getSeconds() + 5); } }
我真的坚持添加X分钟date时间,做了很多谷歌和PHP手册阅读,我似乎没有得到任何地方。 我有的date时间格式是: 2011-11-17 05:05 : year-month-day hour:minute 分钟添加将只是一个介于0和59之间的数字 我希望输出与添加分钟的input格式相同。 有人能给我一个工作代码的例子,因为我的企图似乎没有让我到任何地方?
我有数千张在坦桑尼亚拍摄的照片,我想将每张照片拍摄的date和时间存储在MySQL数据库中。 但是,服务器位于美国,当我试图在春季夏令时(美国)储存坦桑尼亚的date时间在“无效”时间内时遇到问题。 坦桑尼亚不做DST,所以时间是真正有效的时间。 更多的复杂情况是有许多不同时区的协作者需要访问存储在数据库中的date时间值。 我希望他们总是像坦桑尼亚时代出来,而不是在各个合作者所在的当地时代。 我不愿意设置会话时间,因为我知道当有人忘记设置会话时间并把时间全部弄错时,会出现问题。 我没有权力改变有关服务器的任何事情。 我已阅读: 夏令时和时区最佳做法和MySQLdate时间字段和夏令时 – 我如何参考“额外”小时? 并在PHP / MySQL中将date时间存储为UTC 但他们似乎都没有解决我的特殊问题。 我不是一个SQL专家; 有没有办法在设置DATETIME时指定时区? 我没有见过一个。 否则,如何解决这个问题的任何build议是非常感激的。 编辑:这是我遇到的问题的一个例子。 我发送命令: INSERT INTO Images (CaptureEvent, SequenceNum, PathFilename, TimestampJPG) VALUES (122,1,"S2/B04/B04_R1/IMAG0148.JPG","2011-03-13 02:49:10") 我得到的错误: Error 1292: Incorrect datetime value: '2011-03-13 02:49:10' for column 'TimestampJPG' 这个date和时间存在于坦桑尼亚,但不在数据库所在的美国。
我有一个ActiveRecord模型Event与date时间列starts_at 。 我想提出一个表格,其中starts_atdate和时间是分开select的(例如, "23-10-2010"为date, "18:00"为时间)。 这些字段应该由单列starts_at ,并且validation也应该优先针对starts_at 。 我当然可以使用虚拟属性和钩子,但我想要一个更优雅的解决scheme。 我已经尝试了compos_of ( rdoc )和attribute-decorator( 灯塔讨论 , github )都没有成功。 下面是我想要的粗略轮廓。 class Event < ActiveRecord::Base validates_presence_of :start_date end # View # On submission this should set start_date. form_for @event do |f| f.text_field :starts_at_date # date-part of start_date f.text_field :starts_at_time_of_day # time-of-day-part of start_date f.submit end 任何帮助赞赏。
我想知道为什么'Y'返回2012年,而'y'在SimpleDateFormat返回2011年: System.out.println(new SimpleDateFormat("Y").format(new Date())); // prints 2012 System.out.println(new SimpleDateFormat("y").format(new Date())); // prints 2011 任何人都可以解释为什么?