我是perl脚本的新手。你能帮忙比较两个日期吗? 我有
my $dt1 = "20171026";
my $dt2 = "20180101";
我正在使用下面的代码段比较日期,但是我不确定这是否是正确的方法
use strict; use warnings;
my $dt1 = "20171026";
my $dt2 = "20180101";
if ($dt1 > $dt2){
print "Hi";
}
else {
print "hello";
}
如果我可以格式化一个字符串,例如$ dt1到日期时间格式并进行比较,有人可以建议我吗?
答案 0 :(得分:4)
如果使用YYYYMMDD(或%Y%m%d)格式,则可以将日期比较为数字或字符串。这意味着两者
@Override
protected void onPostExecute(Boolean internet) {
mConsumer.accept(internet);
if (internet == true) {
Toast.makeText(YourActivity.this, "You are connected to internet", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(YourActivity.this, "Connection Failed", Toast.LENGTH_LONG).show();
}
}
和
$dt1 > $dt2
正常工作。我更喜欢使用字符串比较($dt1 gt $dt2
),因为我们不使用日期作为数字(我们不向其添加数字等),而是将其用作字符串(例如,可以用{{1}提取年份) }。同样,如果使用分隔符,例如2018/09/25。
答案 1 :(得分:2)
您的比较还可以。
由于您的日期实际上只是数字,并且采用YMD格式,因此可以进行数字比较。日期的组成部分按重要性排序,这在这里很重要。
2017
始终在2018
之前10
)晚于一月(01
),但前导零很重要05
将在29
之前可以比较
20170101
在20170102
之前20180101
在20171231
之后因为它们都是数字。
对于这种格式,使用日期模块和解析字符串绝对没有必要或没有好处。它不会使阅读更容易,也不会更快。这只会增加代码的复杂性。
答案 2 :(得分:0)
您可以按照说明将字符串与日期格式进行比较,但这就是您所能做的。
正如我认为的问题一样,当然还有一些用于日期时间工作的库。
最全面的是DateTime,它的功能极为完善
import urllib.request
import demjson
url = ('https://myurl')
content = urllib.request.urlopen(url).read()
现在,您可以使用这些日期来做各种事情,请参阅文档。
如果您不需要那么多的工作并且希望使用更轻便的模块,则可以使用Time::Piece
<script type="text/javascript">
/* <![CDATA[ */
function getEmbed(width, height) {
if (width && height) {
return '<iframe width="' + width + '" height="' + height + '" src="https://www.ptrex.com/embed/33247" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>';
}
return '<iframe width="768" height="432" src="https://www.ptrex.com/embed/33247" frameborder="0" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>';
}
var flashvars = {
video_id: '33247', license_code: '$535555517668914', rnd: '1537972655', video_url: 'https://www.ptrex.com/get_file/4/996a9088fdf801992d24457cd51469f3f7aaaee6a0/33000/33247/33247.mp4/', postfix: '.mp4', video_url_text: '480p', video_alt_url: 'https://www.ptrex.com/get_file/4/774833c428771edee2cf401ef2264e746a06f9f370/33000/33247/33247_720p.mp4/', video_alt_url_text: '720p HD', video_alt_url_hd: '1', timeline_screens_url: '//di-iu49il1z.leasewebultracdn.com/contents/videos_screenshots/33000/33247/timelines/timeline_mp4/200x116/{time}.jpg', timeline_screens_interval: '10', preview_url: '//di-iu49il1z.leasewebultracdn.com/contents/videos_screenshots/33000/33247/preview.mp4.jpg', skin: 'youtube.css', bt: '1', volume: '1', hide_controlbar: '1', hide_style: 'fade', related_src: 'https://www.ptrex.com/related_videos_html/33247/', adv_pre_vast: 'https://pt.ptawe.com/vast/v3?psid=ed_pntrexvb1&utm_source=bf1&utm_medium=network&ms_notrack=1', lrcv: '1556867449254522707330811', adv_pre_replay_after: '2', embed: '1' };
var player_obj = kt_player('kt_player', 'https://www.ptrex.com/player/kt_player.swf?v=4.0.2', '100%', '100%', flashvars);
/* ]]> */
</script>
对于简单的事情,它也更易于使用。它还具有其他一些便利,但是如果您的需求变得更加复杂,请小心,因为某些模块的接口可能会很棘手。