我正在尝试为 xml 站点地图生成“changefreq”。每次保存页面时,我都会向“save_history”数组添加一个日期,该数组为我提供了要使用的日期列表。最初我以为我只需将所有日期相加并除以长度即可,但这只是给出了自 1970 年 1 月 1 日以来的平均时间。如何修复此函数以获得日期之间的平均时间?
http://jsfiddle.net/jwerre/pAfdM/19/
或者
getChangeFequency = function(history) {
var sum = _.reduce(history, function(memo, num) {
return memo + num.getTime();
}, 0);
var average = sum / history.length;
var hours = average / 3600000;
console.log("totals:", sum, average, hours); // 20292433147523 1352828876501.5334 375785.7990282037
if (hours > 17532) {
return "never";
} else if ((8766 < hours && hours > 17531)) {
return "yearly";
} else if ((730 < hours && hours > 8765)) { …Run Code Online (Sandbox Code Playgroud) 我得到了一个 MySQL 12 位时间戳 (253402214400),可以在mm/dd/yyyy不使用任何语言的情况下对其进行格式化。数据库字段是长文本类型,这就是我正在做的事情。
SELECT time_stamp; 回报253402214400
SELECT DATE_FORMAT(time_stamp,'%m/%d/%Y'); 回报NULL
SELECT FROM_UNIXTIME(time_stamp);也返回NULL
SELECT UNIX_TIMESTAMP(time_stamp);回报0
我不知道这是什么类型Timestamp,但请帮我将其格式化为mm/dd/yyyy.
Thanks
我的数据库中有一个名为“eventstart”的字段。其中的值是一个 unix 时间戳。我想为此添加 1 天,但它只存储 0。
我试过:
UPDATE mytable SET eventstart=TIMESTAMPADD(DAY,1,eventstart) WHERE 1
UPDATE mytable SET eventstart=TIMESTAMPADD(DAY,1,DATE_FORMAT(FROM_UNIXTIME(eventstart), '%d-%m-%Y')) WHERE 1
UPDATE mytable SET eventstart=UNIX_TIMESTAMP(TIMESTAMPADD(DAY,1,DATE_FORMAT(FROM_UNIXTIME(eventstart), '%d-%m-%Y'))) WHERE 1
Run Code Online (Sandbox Code Playgroud)
……诸如此类的事情。
我试图确定时间戳是否早于 30 秒,但由于某种原因,它甚至在几秒钟之前就返回到 30 秒以上。
示例:https : //ideone.com/KLIIBz
public static Boolean cooldown(int id) {
Calendar now = Calendar.getInstance();
now.add(Calendar.SECOND, -secondsAgo);
long timeAgo = now.getTimeInMillis();
if ( cooldown.containsKey(id) ) {
System.out.println(cooldown.get(id) + " | " + timeAgo);
// Stored timestamp always older than timeAgo
if ( cooldown.get(id) < timeAgo ) {
cooldown.remove(id);
} else {
// This code should be executed, as I am running the function one after another from same UUID not even a second or two apart. …Run Code Online (Sandbox Code Playgroud) 我有一个 json 文件被导入我的项目(https://api.myjson.com/bins/ywv0k)。json 属性被解码并存储在我的结构类“News”中,它具有与 json 文件相同的属性。
在第二步中,我使用结构类“News”中的字符串属性“timestamp”填充表,这实际上是 UNIX 时间。
我现在的问题是我不知道如何将此 UNIX 时间更改为格式字符串“dd/mm/yy HH:mm:ss”,因为在尝试放置函数时出现错误
let date = NSDate(timeIntervalSince1970: timestamp) //error since timestamp is currently defined as string. If I make it a long variable, I cannot populate the table with it any more, since the label requires a text with string format.
let dayTimePeriodFormatter = NSDateFormatter()
dayTimePeriodFormatter.dateFormat = "dd/mm/yy HH:mm:ss"
let dateString = dayTimePeriodFormatter.stringFromDate(date)
Run Code Online (Sandbox Code Playgroud)
进入 do-encoding-loop 以及当我将它放入此表函数时:func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell。
斯威夫特 4
import UIKit …Run Code Online (Sandbox Code Playgroud) 我正在尝试将 19 位 Unix 时间戳(例如(五分之一))转换为1558439504711000000可读的日期/时间格式。我的时间戳以 6 个零结尾,这表明时间以纳秒为单位。
我遇到过一些例子,人们使用了我不需要的时区。另一个例子使用 ofEpochSecond ,如下所示:
Instant instant = Instant.ofEpochSecond(seconds, nanos);
Run Code Online (Sandbox Code Playgroud)
但我不确定是否需要使用ofEpochSecond。
下面的代码给出了我实现这一目标的最新方法:
String timeStamp = "1558439504711000000";
long unixNanoSeconds = Long.parseLong(timeStamp);
Date date = new java.util.Date(timeStamp*1000L);
// My preferred date format
SimpleDateFormat sdf = new java.text.SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
String formattedDate = sdf.format(date);
System.out.println("The timestamp in your preferred format is: " + formattedDate);
Run Code Online (Sandbox Code Playgroud)
但我得到的输出是这样的:
// The timestamp in your preferred format is: 11-12-49386951 11:43:20
Run Code Online (Sandbox Code Playgroud)
其中不显示年份格式,例如 2019 格式。
我尝试了这段代码:
public class TimePassed {
private long seconds;
private long minutes;
private long hours;
private long days;
private long years;
...
public TimePassed(double unixSeconds) {
Instant now = Instant.now();
Instant ago = Instant.ofEpochSecond((long) unixSeconds);
this.seconds = ChronoUnit.SECONDS.between(
ago.atZone(ZoneId.systemDefault()),
now.atZone(ZoneId.systemDefault())); //6100
this.minutes = ChronoUnit.MINUTES.between(
ago.atZone(ZoneId.systemDefault()),
now.atZone(ZoneId.systemDefault())); //101
this.hours = ChronoUnit.HOURS.between(
ago.atZone(ZoneId.systemDefault()),
now.atZone(ZoneId.systemDefault())); //1
this.days = ChronoUnit.DAYS.between(
ago.atZone(ZoneId.systemDefault()),
now.atZone(ZoneId.systemDefault())); //0
this.years = ChronoUnit.YEARS.between(
ago.atZone(ZoneId.systemDefault()),
now.atZone(ZoneId.systemDefault())); //0
}
}
Run Code Online (Sandbox Code Playgroud)
然而,那么该TimePassed对象将具有seconds = 6100和,而我希望它是minutes = 101, ,所以。可以做包吗?因为到目前为止,我只能得到过去的秒数、过去的分钟或过去的小时等等。而且两者都无法解释对方。hours = …
我到处都在寻找这个,但找不到我需要的东西。我有一个表,其中有一列包含事务日期的 unix 时间戳。在 MySQL 中,我可以非常轻松地进行转换,但在 CockroachDB 中执行此操作时遇到问题。
我所寻找的只是能够在 MySQL 中执行如下查询:
SELECT
DATE(FROM_UNIXTIME(transaction_timestamp)),
COUNT(id)
FROM
purchases
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我想在内存中存储时间戳(数十亿个值)。主要操作是读到内存和从内存中读取,不需要 DateTime 特定的方法。为了与其他服务兼容,我想以秒为单位使用 unix 时间戳格式(以避免转换)。
所以,我想使用特殊的数据类型,而不仅仅是long在我的代码中。
我发现我不能为简单的数据类型(如 )“制作别名” long,我可以在程序集之外完全使用它。
因此,我想将 Timestamp 实现为具有单个long字段和一些方法(例如,ToDateTime、某些运算符重载等)的结构,因为结构是“非引用数据类型”并且它们保留了我的记忆。
制作结构是个坏主意吗?
任何使代码成为强类型的替代方法,重新定义Method (long, long)为Method (Timestamp, StepCount)
我有一个简单的 DateTime 对象,等于 date: 11/1/2020 8:11:14 AM。
我想将它转换成毫秒,所以我做的:
myTimestamp?.Ticks / TimeSpan.TicksPerMillisecond。
我得到63739786274788,从纯计算的角度来看,这似乎是正确的。
但是,当我将它输入到其中一个在线转换器进行验证时,我得到了 date Wed Nov 01 3989 01:11:14,这当然是很遥远的。
问题:
63739786274788如果不是以毫秒为单位的时间,这个数字是多少?unix-timestamp ×10
timestamp ×4
java ×3
c# ×2
datetime ×2
mysql ×2
cockroachdb ×1
date ×1
ios ×1
javascript ×1
json ×1
math ×1
memory ×1
performance ×1
php ×1
sql ×1
struct ×1
swift ×1